matlab实现彩色图像转成灰度图像

Posted ZhangJiQun.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab实现彩色图像转成灰度图像相关的知识,希望对你有一定的参考价值。

 

代码:

MyYuanLaiPic = imread('C:\\Users\\Administrator\\Desktop\\11.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 , 'C:\\Users\\Administrator\\Desktop\\11.png' , 'png');  
  
%显示原来的RGB图像  
figure(1);  
imshow(MyYuanLaiPic);  
  
%显示经过系统函数运算过的灰度图像  
figure(2);  
imshow(MyFirstGrayPic);  
  
%显示转化之后的灰度图像  
figure(3);  
imshow(MidGrayPic);

以上是关于matlab实现彩色图像转成灰度图像的主要内容,如果未能解决你的问题,请参考以下文章

Matlab图像处理彩色图像转换为灰度图像(初学必看)

matlab图像转灰度图像

matlab中灰度图像矩阵的大小问题怎么操作?

数字图像处理Matlab实现-图像增强-彩色图像增强(彩虹编码,热金属编码)

图像转换基于matlab灰度图像转换彩色图像含Matlab 1233期

matlab 彩色图像转化成灰度图像,灰度图像降低灰度级