Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткий курс теории обработки изображений.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.39 Mб
Скачать

Шаг 3: Достижение специальных эффектов на результирующем изображении с помощь использования метода частичных масок.

При инверсной функции преобразования структура TFORM возвращает вектор значений для получения результирующего изображения. При этом также используются функции imtransform и tformarray. Эти действия, в основном, детально описаны в начале (см. Шаг 1). Нужно только с помощью функции maketform('custom'...) преобразовать структуру TFORM с целью ручного управления INVERSE_FCN:

Инверсная функции: ipex006.m

function U=ipex006( X, t ) Z=complex(X(:, 1), X(:, 2)); W=(Z+1./Z)/2; q=0.5<=abs(Z)&abs(Z)<=2; W(~q)=complex(NaN, NaN); U(:, 2)=imag(W); U(:, 1)=real(W);

Программный источник функции размещается в matlabroot/toolbox/images/imdemos/ipex006.m. В принципе, функция ipex006 аналогична функции ipex004, описанной в Шаге 1, за исключением двух дополнительных линеек:

q=0.5<=abs(Z)&abs(Z)<=2; W(~q)=complex(NaN, NaN);

Эти данные являются основными при инверсных преобразованиях. В более общем виде эти преобразования можно представить так:

ring=maketform('custom', 2, 2, [], @ipex006, []);

Bring=imtransform( A, ring, 'cubic',...

'UData', uData, 'VData', vData,...

'XData', [-2 2], 'YData', yData,...

'Size', [400 400], 'FillValues', 255 );

figure, imshow(Bring); title('Transformed Image With Masking');

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

Шаг 4: Повторение эффекта на разных изображениях

Проведем так называемые преобразования по окружности, которые описаны в Шаге 3, с другими изображениями, увидим результирующий эффект и возможное практическое применение.

Для этого сначала считаем исходное изображение и отобразим его.

C=imread('greens.jpg');

figure, imshow(C);

title('Winter Greens Image');

Далее проводятся так называемые преобразования по окружности.

D=imtransform( C, ring, 'cubic',...

'UData', uData, 'VData', vData,...

'XData', [-2 2], 'YData', [-2 2],...

'Size', [400 400], 'FillValues', 255 );

figure, imshow(D);

title('Transformed and Masked Winter Greens Image');

Создание обивочных материалов с использованием изображений

При рассмотрении этого демонстрационного примера, создается структура TFORM, которая описывает способы обработки изображений при решении задач создания обивочных материалов. Исследуем наиболее эффектные преобразования на примере сетки из прямых и окружностей. При этом будем также использовать такие функции как imtransform и tformarray.

Ключевые слова

Вырезание изображения, аффинные преобразования, преобразования векторов

Ключевые функции

maketform, makeresampler, imtransform, tformfwd

Демонстрационный пример включает следующие шаги:

  • Шаг 1: Первичное преобразование изображений.

  • Шаг 2: Исследование преобразований.

  • Шаг 3: Сравнительный анализ различных методов.

  • Шаг 4: Реализация методов с параметрами 'circular' и 'symmetric'.