matlab如何将彩色图变为灰度图

如题所述

很简单,将以下语句粘贴到一个新建的MATLAB函数文件里并取名为rgb2gray2.m(缺省即是如此)function J = rgb2gray2(I)J = 0.29894 * I(:,:,1) + 0.58704 * I(:,:,2) + 0.11402 * I(:,:,3);接下来读入一幅RGB图像到矩阵I中后调用J = rgb2gray2(I)即可,J就是转换后的灰度图像矩阵。需要注意的是,自编函数未考虑太多情况,因此输入必须是RGB图像的矩阵(可用imshow()函数读取自硬盘里的照片),如果原本就是灰度图像或其它非法输入的话将会报错。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-20
废话不多说,因为是彩色图直接用自带的rgb2gray就行了,如果你需要看过程,help调出这个函数就行,或者直接提取他的M函数!(在命令空间直接用type rgb2gray),希望能帮到你,我专门做图像处理,不会的随时可以加我!
第2个回答  2012-06-05
clear
close all
A=imread('1.jpg');
I=rgb2gray(A)
I2=histeq(I);
imshow(I2)
我觉得这个比较简单,要先存储一个图片。
第3个回答  2011-01-11
比如:
[filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'载入图像');
I=[pathname,filename];
I=imread(I);
I=rgb2gray(I);
imshow(I)
相似回答