灰度变换
直接灰度变换说明原理常见变换直方图说明性质直方图均衡化图像的代数运算说明直接灰度变换
说明
逐点运算,按照一定的变换关系,逐点该点原灰度图像中每一个像素灰度值,但不改变空间位置关系。
原理
灰度图像的线性拉伸。若灰度级局限在很小的范围内(灰度级0~255
),显示出来的是模糊不清、没有层次感的图像;通过线性变换对每个像素点做线性变换,有效改变你图像视觉效果,即扩大原始的灰度等级范围,显得有层次。
常见变换
因为是点运算,图像是二维,由二维数组表示即f(x,y)
表示灰度值。
变换公式::g(x,y)=T[f(x,y)]
线性变换或者非线性变换。
线性变换:g(x,y)=T[f(x,y)]=af(x,y)+b;
:原灰度值乘以a加b
① 如果a>1,输出图像的对比度增大。
② 如果a<1,输出图像的对比度减小。
③ 如果a=1,b≠0,使所有像素的灰度值上移或下移,使整个图像更暗或更亮。
④ 如果a=1,b=0时,输出、输入图像相同。
⑤ 如果a为负值,暗区域将变亮,亮区域将变暗。
非线性变换:对数变换g=clog(1+f)
压缩数据,使灰度级密集
指数变换: g=crn拉大不同灰度级距离、提高图像对比度
【两者可从数学角度理解:对数随横坐标变大曲线变得平缓,而指数陡峭】
反转变换:g(x,y)=255-f(x,y)
灰度级反转
分段线性变换:突出感兴趣目标所在的灰度区间,抑制不感兴趣的灰度区间。
%分段线性变换R=imread('辣椒.png'); %输入图像J=rgb2gray(R);%灰度变换先要将彩色变成灰色[M,N]=size(J);%size()函数获得图像的宽度和高度;返回矩阵J的尺寸信息,存储在m[行],n[列]中x=1;y=1;for x=1:M;%分段线性变换for y=1:N;if(J(x,y)<35);%矩阵中所有的值,灰度范围小于35,扩大10倍H(x,y)=J(x,y)*10;elseif(J(x,y)>35&&J(x,y)<=75);H(x,y)=(10/7)*[J(x,y)-5]+50;else(J(x,y)>75);H(x,y)=(105/180)*[J(x,y)-75]+150;endendendset(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置figure(1),subplot(121),imshow(J);subplot(122),imshow(H);
直方图
说明
直方图:统计图中每种灰度级像素的个数,反应图像中每种灰度级出现的频率,是图像最基本的统计特征,直观获取数据分布情况。【没错!真是小学学的条形统计图!!!】
横坐标:像素灰度级
纵坐标:该灰度级像素出现的个数
性质
1. 只反应该图像不同灰度值像素出现的次数,未反应某一灰度值像素所在位置,因此丢失图像的位置信息。
2. 图像与直方图之间是多对一的映射关系:一个图像只有一个直方图;而一个直方图可对应多个图像。
3. 一幅图可拆除不同子图,每个子图求直方图后,所以直方图累计求和就是整个图的直方图
直方图均衡化
说明
对比度:直方图在灰度级所设定的范围内分布情况,即一个图像中最亮的部分和最暗的部分的亮度/色彩程度的差值。
图像中像素数量集中在很小的范围内【都集中在比较暗或者比较亮的地方】,表明图像的对比度低
像素灰度级及其个数在直方图内分布比较平衡,表明对比度高,
均衡化:所有像素在每个灰度级上出现的次数近似相等,图像反应出来的信息量最大。
像素灰度级层次拉开,亮的增量,暗的增暗,使图像更清晰;
由图可看出,均衡化实质:减少灰度级来加大对比度,使得图片的灰度范围变大,扩展了动态范围【原来很窄,现在扩宽了动态范围】,对比度增强,提高了视觉的接受力。
图像的代数运算
说明
是一种比较简单和有效的图像增强处理。两幅图的对应像素一一进行四则运算,以产生有增强效果的图像。
以上的代码实现:/s/1na4ZrUo9v_OKwN-JePCKow?pwd=hv36
提取码:hv36
如果觉得《图像增强(空间域)——灰度变换》对你有帮助,请点赞、收藏,并留下你的观点哦!