MATLAB中将彩色的图像转化为灰度图像
2015-03-31 15:35
316 查看
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);
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);
相关文章推荐
- MATLAB中将彩色的图像转化为灰度图像
- MATLAB中将彩色的图像转化为灰度图像
- MATLAB将彩色图像转化为灰度图像
- 用cvCvtColor转化RGB彩色图像为灰度图像时发生的小失误
- MATLAB学习笔记 将彩色的图像转化为灰度图像
- MATLAB图像在HSV空间图像&彩色图像转化为灰度图像
- Matlab 彩色图像转化成灰度视频的花屏问题
- 灰度图像转彩色图像 gray2rgb
- opencv中图像与Matlab中mxArray的转化
- Matlab读取图像,并将该图像转换为灰度图像
- 简述:MATLAB中使用Laplace算子对彩色图像进行边缘检测的方法
- Matlab 关于彩色图像的平移、旋转以及对称处理
- MATLAB学习笔记 彩色图像处理
- MATLAB处理RGB图像时如何获得单通道,以及如何根据各单通道恢复彩色图像
- Kinect Winform程序中 彩色图像帧转化为Bitmap
- matlab作业 彩色图像读写实验
- Matlab彩色图像处理
- matlab中将小数转化为2进制数
- matlab实现将彩色图像(R,G,B)色分量的直方图显示出
- 把彩色图像转变为灰度图像的代码例子