[已解决] MATLAB图像除法的结果总是全黑是怎么回事啊?

[复制链接]
sunshine0217 发表于 2016-7-21 15:25:06
moon=imread('moon.jpg');
I=double(moon);
J=I*0.43+90;
K=I*0.1+90;
L=I*0.01+90;
moon2=uint8(J);
moon3=uint8(K);
moon4=uint8(L);
J=imdivide(moon,moon2);
K=imdivide(moon,moon3);
L=imdivide(moon,moon4);
subplot(1,4,1),imshow(moon);
subplot(1,4,2),imshow(J,[]);
subplot(1,4,3),imshow(K,[]);
subplot(1,4,4),imshow(L,[]);
上面的程序不知道为什么运行出来除了原图是全黑?请高手指点,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

最佳答案


atpalain 发表于 2016-7-21 16:13:03
在读取图片后加以下语句:
moon = moon(:,:,1);

运行结果:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复此楼

8 条回复


atpalain 发表于 2016-7-21 16:13:03
在读取图片后加以下语句:
moon = moon(:,:,1);

运行结果:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复此楼

sunshine0217 发表于 2016-7-21 16:21:19
atpalain 发表于 2016-7-21 16:13
在读取图片后加以下语句:
moon = moon(:,:,1);

大神,这是什么意思?

sunshine0217 发表于 2016-7-21 16:48:29
sunshine0217 发表于 2016-7-21 16:21
大神,这是什么意思?

对了,大神,我试了一下用彩色图像,用这种方法可以显示出来,但是原始图像为什么变成灰色了?

atpalain 发表于 2016-7-21 16:56:43
该语句的意思是从彩色图片中取出红色通道图像进行处理
彩色图片有红绿蓝3个通道,每一个通道对应一个二维灰度图像

sunshine0217 发表于 2016-7-21 17:00:29
atpalain 发表于 2016-7-21 16:56
该语句的意思是从彩色图片中取出红色通道图像进行处理
彩色图片有红绿蓝3个通道,每一个通道对应一个二维 ...

好哒好哒,我明白了,O(∩_∩)O谢谢

atpalain 发表于 2016-7-21 17:03:54
sunshine0217 发表于 2016-7-21 17:00
好哒好哒,我明白了,O(∩_∩)O谢谢

这是灰度化的一种方法
还有一种就是用matlab函数rgb2gray进行灰度化处理

atpalain 发表于 2016-7-21 17:04:41
sunshine0217 发表于 2016-7-21 17:00
好哒好哒,我明白了,O(∩_∩)O谢谢

可以给个最佳答案么 谢谢了

sunshine0217 发表于 2016-7-21 17:09:04
atpalain 发表于 2016-7-21 17:04
可以给个最佳答案么 谢谢了

好哒,谢谢你仔细的回答!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表