I=imread("picIn.tif"); ##чтение изображения

I=cast(I,"double"); ##увеличение точности

IFFT=fft2(I); ## 2D преобразование Фурье

A=abs(IFFT); ##амплитуда

IM=arg(IFFT); ##фаза

M=max(max(max(A))); ##максимум амплитуды

A=A.^0.95; ##возведение амплитуды в степень 0.95

MA=max(max(max(A))); ## максимум новой амплитуды

A=A.*(M/MA); ##нормировка амплитуды

Q=A.*cos(IM)+i*A.*sin(IM); ##формирование спектра по новой амплитуде ##и старой фазе

II=ifft2(Q); ##обратное преобразование Фурье

II=real(II); ##

imwrite(uint16(II),"picOut.tif"); ##запись в файл

Библиотека OpenCV (Open Source Computer Vision Library) содержит несколько сотен алгоритмов обработки изображений и видео, и в том числе следующие:

• линейная и нелинейная фильтрация и геометрические преобразования изображений, преобразования цветовых пространств;

• видео-анализ (определение движения, отслеживание объектов, вычитание фона);

• вход и выход видео (захват видео и кодеки);

• калибровка камер и 3D реконструкция;

• отыскание в изображении характерных особенностей (salient feature detectors);

• отыскание в изображении объектов заданного класса (лиц, людей, автомобилей и др.);

• элементы графического интерфейса.

Программный интерфейс библиотеки – С++. Следующая простая программка считывает изображение и показывает его в окне.

Mat image; // Mat – многомерный массив

image = imread("Pic.jpg", IMREAD_COLOR); // чтение цветного изображения

namedWindow("Картинка", WINDOW_AUTOSIZE);// создание окна

imshow(" Картинка", image); // показать изображение в окне

Небольшая библиотека Poisson Image Editing (обработка изображений в градиентном представлении с использованием уравнений в частных производных) предназначена для бесшовного впечатывания части одного изображения в другое изображение. Использует библиотеку OpenCV и библиотеку Eigen (eigen.tuxfamily.org) для решения разреженных систем линейных уравнений (sparse linear system).

<p>4.3. Программы для сборки панорам</p>

Существует много программ для автоматической склейки фрагментов в панорамное изображение: PTAssembler, PhotoStitch, PanoTools или популярные коммерческие пакеты, такие как Autostitch, Arc Soft Panorama Maker, Panorama Factory и PanaVue. Во многих из этих программ панораму, полученную автоматически, можно еще и подправить вручную. Обычно, путем указания точек фрагментов, которые должны совпасть. Или с помощью перетаскивания небольшого кусочка одного фрагмента в нужное место другого.

Многие из этих программ выполняют изменение перспективы и исправление пространственных искажений, вносимых объективом. Большинство программ сборки панорам предоставляют возможность задать точку схождения перспективы, а также тип проекции изображения.

Особо нужно упомянуть PanoTools – набор приложений (как платных, так и бесплатных), вызываемых из командной строки, Среди этих приложений я бы выделил следующие:

• PTRemap – преобразует изображение из одной проекции в другую;

• PTAdjust – вставляет и удаляет изображения с изменением проекции, оптимизирует контрольные точки;

• PTStitcher – сборщик изображений в панораму.

Поскольку с командной строкой работать неудобно, для PanoTools появилось несколько графических интерфейсов: hugin, PanoWizard, PTGui, PTAssembler (первые два – бесплатные).

Мне нравится hugin (произносится, видимо, хь'юджин), исходные коды которого к тому же и открыты. Программа хорошо собирает многослойные панорамы из нескольких десятков кадров. При этом кадры, снятые с разной экспозицией и с разным балансом белого неплохо выравниваются. Правда, выравнивания кадров по контрасту, по-моему, не происходит, либо я не докопался.

Контрольные точки для сшивки фрагментов находятся автоматически (сотни и тысячи точек!). В редких сложных случаях приходится указывать часть новых точек и удалять некоторые лишние вручную.

С помощью программы hugin можно выравнивать снимки для последующего использования при обработке HDR-изображений и в алгоритме «стопки фокусов» (align_image_stack). Обо всем этом ниже.

Для сшивки фрагментов панорам hugin может использовать программы enblend, enfuse и smartblend (см. ниже).

Перейти на страницу:

Похожие книги