Постройте маску поверх изображения в градациях серого MATLAB

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

Спасибо.


person lopezbertoni    schedule 18.05.2012    source источник


Ответы (2)


Вы можете использовать imoverlay, написанный Стивом Эддинсом.

Кроме того, вы можете проверить эти записи в его блоге:

person petrichor    schedule 18.05.2012
comment
Итак, вы можете щелкнуть маленькую отметку «Принять» в ответе, чтобы официально отметить, что это решило вашу проблему :) - person petrichor; 21.05.2012

Использование imoverlay прекрасно, я сам так делаю, но часто мне нужен прозрачный композит. Удобно иметь это в одном массиве, так как это немного упрощает сохранение изображения.

alpha = repmat(0.35 * mask,[1 1 3]);
labels = label2rgb(bwlabel(mask));
im3 = repmat(im,[1 1 3]); %# Assuming image is grayscale
overlay = ( (1-alpha) .* im3 ) + ( alpha .* labels );
imshow(overlay); %# Or imwrite, etc.
person reve_etrange    schedule 19.05.2012
comment
в будущем буду строить композицию, это будет очень полезно, спасибо. - person lopezbertoni; 21.05.2012
comment
Только что закончил несколько составных графиков, ваш код был очень полезен. Я также нашел это: ссылка, которая использует аналогичный принцип. Подумал, что это может быть полезно. - person lopezbertoni; 22.05.2012