一、基础知识
彩色图像:每个像素由R、G、B三个分量表示,每个通道取值范围0~255。(通一个彩色图像是由三页组成的,分别是R、G、B,每一页都是一个二维矩阵)
灰度图像:每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。灰度值分布在0~255之间。
二值图像(黑白图像):每个像素点只有两种可能,0和1.0代表黑色,1代表白色。数据类型通常为1个二进制位。
二、图像灰度化的三种方法
最大值法:使R,G,B的值等于3值中最大的一个,R=G=B=max(R,G,B),最大值法会形成亮度很高的灰度图像。
平均值法:是R,G,B的值求出平均值,R=G=B=(R+G+B)/3,平均值法会形成较柔和的灰度图像。
加权平均值法:根据重要性或其他指标给R,G,B赋予不同的权值,并使R,G,B的值加权平均,R=G=B=WR+VG+UB,W,V,U分别表示权重,研究表明,人对绿色的敏感度最高,对红色次之,对蓝色的敏感度最低,因此W>V>U,实验和理论证明当W=0.30,V=0.59,U=0.11时,能得到最合理的灰度图像。
%代码如下
clc;%clc的作用就是清屏幕
clear;%clear是删除所有的变量
close all;%close all是将所有打开的图片关掉。
i=imread('E:\我的桌面\MATLAB\练习\1.jpg');%绝对路径的读取
[n m a]=size(i);%判断图像的大小
z= rgb2gray(i);%调用MATLAB函数实现灰度化
i1=zeros(n,m);
i2=zeros(n,m);
i3=zeros(n,m);
for x=1:n%通过双循环对图像进行灰度化处理
for y=1:m
i1(x,y)=max(i(x,y,1),max(i(x,y,2),i(x,y,3))); %第一种方法实现灰度化
i2(x,y)=(i(x,y,1)+i(x,y,2)+i(x,y,3))/3;%第二种方法实现灰度化
i3(x,y)=0.3*i(x,y,1)+0.59*i(x,y,2)+0.11*i(x,y,3);%第三种方法实现灰度化
end
end
figure,imshow(i);title('原图像')
figure,imshow(z);title('调用系统函数实现灰度化')
figure,imshow(uint8(i1));title('第一种方法')
figure,imshow(uint8(i2));title('第二种方法')
figure,imshow(uint8(i3));title('第三种方法')
文章来源:https://www.toymoban.com/news/detail-555415.html
%也可以把地下显示代码改成
subplot(231);imshow(i);title('原图像')
subplot(232);imshow(z);title('调用系统函数实现灰度化')
subplot(233);imshow(uint8(i1));title('第一种方法')
subplot(234);imshow(uint8(i2));title('第二种方法')
subplot(235);imshow(uint8(i3));title('第三种方法')
文章来源地址https://www.toymoban.com/news/detail-555415.html
到了这里,关于2.matlab图像三种方法灰度值处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!