图像由彩色图转化为灰度图的三种方法
来源:互联网 发布:高速铣编程用什么软件 编辑:程序博客网 时间:2024/06/14 20:34
一、原理
对于图像由彩色图转化为灰度图有三种方法
分别为 加权法 均值法 最大值法加权法就是 GRAY==0.3*R+0.59*G+0.11*B
均值法就是 GRAY==(R+G+B)/3
最大值发就是 max(R,G,B)
二、代码
[filename,pathname]=uigetfile({'*.jpg';'*bmp';'*gif'},'选择原图片');
picture=imread([pathname,filename]);%读取RGB格式的图像?
%用加权平均法处理图片
FirstGrayPic=rgb2gray(picture);
%用最大值法处理图片
[rows,cols,colors]=size(picture);%得到原来图像的矩阵的参数?
SecGrayPic=zeros(rows,cols);%创建一个全零的矩阵,这个矩阵用来存储用下面的方法产生的灰度图像?
SecGrayPic=uint8(SecGrayPic);%将创建的全零矩阵转化为uint8格式
R=double(picture(:,:,1));
G=double(picture(:,:,2));
B=double(picture(:,:,3));
for i=1:rows
for j=1:cols
SecGrayPic(i,j)=max(max(R(i,j),G(i,j)),B(i,j));
end
end
%用平均值法处理图片?
[rows,cols,colors]=size(picture);%得到原来图像的矩阵的参数?
ThirdGrayPic=zeros(rows,cols);
ThirdGrayPic=uint8(ThirdGrayPic);
for i=1:rows
for j=1:cols
sum2=0;
for k=1:colors
sum2=sum2+picture(i,j,k)/3;%用均值法进行RGB到%灰度图像的转换?
end
ThirdGrayPic(i,j)=sum2;%将得到的简单平均值作为对应像素点?
end
end
%显示图像
figure(1);
subplot(2,2,1);
imshow(picture);%显示原来的图像
title('原图片')
subplot(2,2,2);%显示加权平均值图片?
imshow(FirstGrayPic);
title('加权平均值图片');
subplot(2,2,3);%显示最大值图片?
imshow(SecGrayPic);
title('最大值法图片')
subplot(2,2,4);%显示平均值图片?
imshow(ThirdGrayPic);
title('平均值图片')
三、实验结果
- 图像由彩色图转化为灰度图的三种方法
- OpenCV将彩色图像转化为灰度图代码
- MATLAB中将彩色的图像转化为灰度图像
- MATLAB中将彩色的图像转化为灰度图像
- MATLAB中将彩色的图像转化为灰度图像
- 灰度图像转化为伪彩色图像
- python彩色图转化为灰度图
- opencv将灰度图转化为RGB三通道图像
- 利用OpenCV和C++实现由RGB图像转化为灰度图,再将灰度图转化为二值图的程序
- MATLAB将彩色图像转化为灰度图像
- MATLAB学习笔记 将彩色的图像转化为灰度图像
- 用cvCvtColor转化RGB彩色图像为灰度图像时发生的小失误
- MATLAB几种 彩色图像to灰度图像 的方法
- 彩色图像转灰度图
- Qt 中彩色图像转换为灰度图
- Qt 中彩色图像转换为灰度图
- Qt 中彩色图像转换为灰度图
- 几种不同的彩色图像转灰度方法
- .md markdown
- HDU 1495-非常可乐
- Windows10下安装TensorFlow(Anaconda5.0.0,Python3.6.2)
- LCIS code force 10D
- 八叉树 octree
- 图像由彩色图转化为灰度图的三种方法
- git 常用命令
- DHCP协议
- 《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)
- #define用法
- 购物车的简单实现
- 小迪教程第十二天——编辑器漏洞
- ACM周末总结—10月22日
- mysql组合查询(union和union all)