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

Этот пример показов, как фильтровать видимую область (ROI), используя roifilt2 функция для задания фильтра. roifilt2 позволяет вам задать свою собственную функцию для работы с информация только для чтения. Этот пример использует 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);

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

I2 = roifilt2(I,mask,f);

Отобразите результат.

figure
imshow(I2)

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

См. также

|

Для просмотра документации необходимо авторизоваться на сайте