exponenta event banner

Применить пользовательский фильтр к области, представляющей интерес для изображения

В этом примере показано, как фильтровать интересующую область (ROI) с помощью roifilt2 для задания фильтра. roifilt2 позволяет определить собственную функцию для работы с ROI. В этом примере используется imadjust функция для осветления частей изображения.

Чтение изображения в рабочую область и его отображение.

I = imread('cameraman.tif');
figure
imshow(I)

Figure contains an axes. The axes contains an object of type image.

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

BW = imread('text.png');
mask = BW(1:256,1:256);
figure
imshow(mask)

Figure contains an axes. The axes contains an object of type image.

Создайте функцию, которую необходимо использовать в качестве фильтра.

f = @(x) imadjust(x,[],[],0.3);

Выполните фильтрацию ROI, указав изображение для фильтрации, маску, определяющую ROI, и фильтр, который требуется использовать.

I2 = roifilt2(I,mask,f);

Просмотрите результат.

figure
imshow(I2)

Figure contains an axes. The axes contains an object of type image.

См. также

|