2015-12-09 3 views
1

Я пытаюсь отобразить изображение КТ легкого в качестве фонового изображения и его маску ROI над первым изображением с прозрачностью. Следующее изображениеИзображение суперпозиция с прозрачностью в Matlab

enter image description here

До сих пор я разработал следующий код:

load example.mat 
fig = figure; 
him = imagesc(img); 
colormap(gray) 
set(him, 'AlphaData', 0.3 * mask) 

enter image description here

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

Это изображение является примером того, чего я пытаюсь достичь.

enter image description here

Это ссылка на файл флуд матрицы легкой КТ и матрицу маски.

Link for the .mat file with the images

+0

Таким образом, вы хотите получить полную прозрачность везде, но в точках «маска», где вам нужна только небольшая прозрачность. Тогда вы хотите, чтобы зеленая шанель изображения RGB имела добавленную маску? просто это объяснение должно привести вас в нужное русло. –

+0

Смотрите: http://www.mathworks.com/matlabcentral/answers/100086-how-do-i-superimpose-images-in-matlab – Trilarion

+0

Возможный дубликат [Как я могу «построить» изображение поверх другого изображения с другой цветовой палитрой?] (http://stackoverflow.com/questions/15575844/how-can-i-plot-an-image-on-top-of-another-image-with-a-different-colormap) – Trilarion

ответ

1

Вы можете просто наложить еще одно изображение:

hold on 
ih = image(cmask, 'AlphaData', mask.*.3, 'CDataMapping', 'direct'); 

Здесь cmask получают, например,

cmask = zeros(size(mask, 1), size(mask, 2), 3); 
cmask(:, :, 2) = mask.*255; 

получить зеленую маску.

Смежные вопросы