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

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

Считайте изображение в рабочую область и отобразите ее.

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

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

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

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

Figure contains an axes object. The axes object 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 object. The axes object contains an object of type image.

Смотрите также

|

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