Image Processing Toolbox™ поддерживает четыре метода, чтобы сгенерировать бинарную маску. Бинарная маска задает видимую область (ROI) оригинального изображения. Пиксельные значения маски 1
укажите, что пиксель изображения принадлежит ROI. Пиксельные значения маски 0
укажите, что пиксель изображения является частью фона.
Любое двухуровневое изображение может использоваться в качестве маски, при условии, что двухуровневое изображение одного размера с отфильтрованным изображением.
Можно создать маску из полутонового изображения путем классификации каждого пикселя как принадлежащий или необходимой области или фону. Например, предположите, что вы хотите отфильтровать полутоновое изображение I
, фильтрация только те пиксели, значения которых больше 0.5. Можно создать соответствующую маску с этой командой:
BW = (I > 0.5)
Этот пример показывает, чтобы создать бинарную маску с помощью одной из функций создания ROI, таких как drawcircle
, с маской создание функционируют createMask
.
Считайте изображение в рабочую область и отобразите ее.
img = imread('pout.tif');
h_im = imshow(img);
Создайте ROI на изображении с помощью одной из функций создания ROI.
circ = drawcircle('Center',[113,66],'Radius',60);
Создайте бинарную маску из ROI с помощью createMask
. createMask
функция возвращает двухуровневое изображение тот же размер как входное изображение. Пиксели в ROI установлены в 1, и пиксельные значения везде еще установлены в 0.
BW = createMask(circ); imshow(BW)
Можно использовать roicolor
функция, чтобы задать ROI на основе цвета или области значений интенсивности.
Можно использовать poly2mask
функция, чтобы создать бинарную маску, не имея связанного изображения. В отличие от createMask
метод, poly2mask
не требует входного изображения. Вы задаете вершины ROI в двух векторах и задаете размер бинарной возвращенной маски. Например, следующее создает бинарную маску, которая может использоваться, чтобы отфильтровать ROI в pout.tif
изображение.
c = [123 123 170 170]; r = [160 210 210 160]; m = 291; % height of pout image n = 240; % width of pout image BW = poly2mask(c,r,m,n); imshow(BW)