matlab里面灰度图与RGB转化的问题

我用matlab用数据生成了灰度图。但是发现我用colormapjet之后生成的图像再rgb2gray出来的图,跟直接colormapgray出来的不一样啊,比如下面的。... 我用matlab用数据生成了灰度图。但是发现我用colormap jet之后生成的图像再rgb2gray出来的图,跟直接colormap gray出来的不一样啊,比如下面的。请速速回答,回答满意再加50啊! 展开
 我来答
百度网友7d7ebc3
2013-08-07 · TA获得超过531个赞
知道小有建树答主
回答量:630
采纳率:50%
帮助的人:585万
展开全部
楼上说的很有道理,我测试了下,你用rgb2gray()得到的从,colormap矩阵(一般是64行3列)完全不相等,
>> b=rgb2gray(a);
>> m1=colormap;
>> m2=colormap(gray);
>> m1==m2;
>> c=(m1==m2);
这是我测试的程序代码,C是判断相等的矩阵;我的a是一个彩图矩阵
我如果没记错的话原因是这样的,两种函数的变灰度图的方法不一样,rgb2gray()这种是
用r,g,b分量进行亮度计算,由rgb到yuv(ycbcr)的进行转换,计算y的公式就是了,因为ycbcr空间中,y分量就是原图的灰度拷贝
|Y| | 0.299 0.587 0.114 | |R|
| I| = | 0.596 -0.274 -0.322 | |G|
|Q| | 0.211 -0.523 0.312 | |B|,

colormap(gray)是以一个固定的颜色矩阵作为颜色矩阵,那么他的颜色矩阵永远不会变,而rgb2gray()的颜色矩阵可能随数据变化而变化

我觉得rgb2gray要准确点,colormap(gray)算作伪彩色编码,有点人为的性质
hwguan
推荐于2018-04-30 · TA获得超过1万个赞
知道大有可为答主
回答量:4405
采纳率:0%
帮助的人:4069万
展开全部
如果直接

colormap jet 或者gray 只是影响呈现的颜色,不影响数据的色矩阵C
问题在于rgb2gray, 这恐怕会要改变色矩阵C的元素数值
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式