用matlab实现二值化图像的一个问题

用matlab实现二值化图像和原图相乘?急用啊!!!!木有财富值了 求帮助呢!!

2014-08-18 19:38 心不死即可  |  浏览 963 次
对于jpg格式的图像,和进行了二值化的图像进行相乘?怎么不行啊下面是程序和错误警告?请大神帮帮忙啊   时间不够了..没有财富值了,,欠着可以不。。。
A=imread('26.jpg');%读取原图像
B=rgb2gray(A);%将原图像转换为灰度图像
t=graythresh(B);%计算阈值t
C=im2bw(B,t);%根据阈值二值化图像
D=imfill(C,8,'holes');%对二值化后的图像填充肺实质
E=D-C;%得到肺实质的图像E
F=imfill(E,8,'holes');%填充肺实质空洞
G=B.*F;
imshow(A);figure,imshow(G);
 
警告:
??? Error using ==> times
Integers can only be combined with integers of the same class, or scalar doubles.
Error in ==> Untitled15 at 8
G=B.*F;
2014-08-18 19:55 提问者采纳
 
   
 
   
 
   
        
    
A=imread('26.jpg');%读取原图像
B=rgb2gray(A);%将原图像转换为灰度图像
t=graythresh(B);%计算阈值t
C=im2bw(B,t);%根据阈值二值化图像
D=imfill(C,8,'holes');%对二值化后的图像填充肺实质
E=D-C;%得到肺实质的图像E
F=imfill(E,8,'holes');%填充肺实质空洞

B=double(B);  %%%%%%%%%%%%%%%注意这个地方,必须换成double类型

G=B.*F;
imshow(A);figure,imshow(G);
追问:
恩恩 可以了 不过为什么感觉G和F一样呢?
追答:
这个我就不太明白了,我只知道你的错误原因是由于 乘法时类型不一致引起的,并且在进行图像处理时我们通常就要进行 double 的转换。  

1:为什么 G F一样,是由于你用二值化矩阵乘以图像矩阵当然结果就是二值化图像了
追问:
不是矩阵对应元素相乘  然后二值化的白色是1  黑色是0  那么得到的应该是把原图像  我所需要的那个目标分离的部分啊?怎么回事二值化的图像呢??不太理解
追答:
对不起,刚才那个理解错了,“二值化矩阵乘以图像矩阵当然结果就是二值化图像了”
追问:
恩恩??什么意思啊  我没有财富值了 不能追问了  不能理解二值化矩阵乘以图像举证结果是二值化图像  这句话
追答:
对不起,刚才那个理解错了

出来的结果是个灰度矩阵。但是其余地方是黑色的,
你给我发张图,我给你看结果!
追问:

  这个是原图片我就是使用上面的程序对它进行处理的  万谢啊!!

追答:

A=imread('29.jpg');%读取原图像

BB=rgb2gray(A);%将原图像转换为灰度图像

B= im2double(BB);

t=graythresh(B);%计算阈值t

C=im2bw(B,t);%根据阈值二值化图像

D=imfill(C,8,'holes');%对二值化后的图像填充肺实质

E=D-C;%得到肺实质的图像E



F=imfill(E,8,'holes');%填充肺实质空洞


G=B.*F;

imshow(A);figure,imshow(G);


这个是程序,你看看,第二张图就满足你的要求了,不过背景是黑色的而已。你可以把背景搞成白色的,不过有些噪声,建议你再滤波一下

提问者评价
谢谢!! 真的帮了我们大忙了!!
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值