怎样用matlab实现彩色图像变黑白图片算法?
1个回答
展开全部
简单来说,目前市面上绝大多数的彩色转黑白都是通过一个确定的函数Gray=f(R,G,B)将彩色空间映射到灰度空间。然而很容易想到的是,对于任何一个『事先确定好』的映射,我们总是能找到一些『坏』的数据,使得原先还算正常的彩图变成『很糟糕』的灰度图。
理由也很简单:毕竟彩色空间到灰度空间降了两个维度,对于『事先确定好』的映射函数f,我们总是能找到颜色略有不同但灰度接近的情况。
这个映射函数本身是根据输入图像动态计算出来的。换句话说,对于不同的图,这个映射函数可以是不一样的!即使是同一个颜色,在不同的图像中也可能被映射成不同的灰度。
I = imread('test.jpg');%读入图片
if ndims(I) == 3%如果图片是3维(彩图)
I = rgb2gray(I);%转成灰图
end%结束
imshow(I); %展示图片
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询