在MATLAB里如何将JPG格式的彩色图片转化为灰度图?

 我来答
一点设计演示
高粉答主

2015-09-07 · 职场/教育各类模板,衷于原创
一点设计演示
采纳数:874 获赞数:83595

向TA提问 私信TA
展开全部
MyYuanLaiPic = imread('e:/image/matlab/darkMouse.jpg');%读取RGB格式的图像  
MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函数进行RGB到灰度图像的转换  
  
[rows , cols , colors] = size(MyYuanLaiPic);%得到原来图像的矩阵的参数  
MidGrayPic = zeros(rows , cols);%用得到的参数创建一个全零的矩阵,这个矩阵用来存储用下面的方法产生的灰度图像  
MidGrayPic = uint8(MidGrayPic);%将创建的全零矩阵转化为uint8格式,因为用上面的语句创建之后图像是double型的  
  
for i = 1:rows  
    for j = 1:cols  
        sum = 0;  
        for k = 1:colors  
            sum = sum + MyYuanLaiPic(i , j , k) / 3;%进行转化的关键公式,sum每次都因为后面的数字而不能超过255  
        end  
        MidGrayPic(i , j) = sum;  
    end  
end  
imwrite(MidGrayPic , 'E:/image/matlab/DarkMouseGray.png' , 'png');  
  
%显示原来的RGB图像  
figure(1);  
imshow(MyYuanLaiPic);  
  
%显示经过系统函数运算过的灰度图像  
figure(2);  
imshow(MyFirstGrayPic);  
  
%显示转化之后的灰度图像  
figure(3);  
imshow(MidGrayPic);
greatdju
2008-09-07 · TA获得超过2.2万个赞
知道大有可为答主
回答量:2486
采纳率:50%
帮助的人:4147万
展开全部
I=imread('a.jpg');
G=rgb2gray(I);
imshow(G)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式