覆盖图像变得暗淡

时间:2015-06-07 17:07:47

标签: matlab image-processing

我的问题如下。我有一个“背景”图片(BF),我想覆盖我已经识别的一些细菌的轮廓线(CT)。我想这样做,以便BF保持灰度和CT某种颜色。两者都是'.png'格式

我成功地做到了这一点,但是背景越来越暗,并且因为我想添加2/3单独的不同颜色的CT,为了识别不同的亚群,事情变得更糟。有人能帮助我吗?!?!

BF

background - BF

CT

Contour line - CT

保险丝

Fused

BF = imread(filename_BF);
CT = imread(filename_CT);
CT2 = cat(3, zeros(size(CT)), CT, zeros(size(CT)));

X = imfuse(CT2, BF, 'blend');
imwrite(Fuse, filename_Fuse);

代码非常简单。就好像图像融合时,CT为0时,背景BF被减去一点。我想要的只是从BF上的CT地图上获得绿线。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以手动创建图像。 我假设BF是三通道,CT背景为0,CT是一个通道。

X = BF;
[r,c] = find(CT>0);
X(sub2ind(size(X),r,c,ones(size(r))*1)) = 0;
X(sub2ind(size(X),r,c,ones(size(r))*2)) = 255;
X(sub2ind(size(X),r,c,ones(size(r))*3)) = 0;
imshow(X);

结果:

enter image description here