matlab greythresh,在RGB图像MATLAB上重叠二进制图像

我能够将二进制图像与原始RGB图像重叠。通过以下代码。

inImage = imresize(imread('1.jpg'),0.25);

%imwrite(inImage,'original.jpg');

inImage = skyremoval(inImage);

greyImage = rgb2gray(inImage);

thresh1 = 200;

whiteLayer = greyImage > thresh1;

thresh2 = 125;

lightgreyLayer = greyImage > thresh2 & greyImage <= thresh1;

layer1 = whiteLayer*200;

layer2 = lightgreyLayer*125;

G = layer1 + layer2;

% figure,imshow(G);

se = strel('disk', 15);

Io = imopen(G, se);

figure,imshow(Io);

f = find(Io==0);

mask(:,:,1) = f; % For the red plane

% mask(:,:,2) = f; % For the green plane

% mask(:,:,3) = f; % For the blue plane

inImage(mask)=0;

I = inImage;

figure,imshow(I);以下是图片。

Here。第一个是从原始图像导出的二值图像,第二个是原始图像,第三个是通过上面给出的代码重叠二进制和RGB图像后的结果。正如你所看到的,我面临的问题是,除了道路以外的部分是青色,我想要的是不是黑色道路的部分。我怎样才能做到这一点?

如果你能提供帮助,请修改我的代码。谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值