数字图像处理Matlab实现-图像增强-灰度图像增强

Posted SKY_FISH

tags:

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

灰度图像增强的大致原理以及操作方法

面向作业编程

 

 

上图是大概对灰度图的增强处理

就是想让图片变得更好看

那么如何具体操作就看下面的代码了

这是一个简单的线性分段处理,相信在注释的帮助下应该能看懂。

%返回行数列数
[h,w]=size(gray);
[m,n]=size(gray);
%创建一个0矩阵
NewImage1=zeros(h,w); 
%变参数图像
NewImage1_1=zeros(m,n);
%原图进行处理 分段线性变换
a=80/256; b=180/256; c=30/256; d=220/256;
for x=1:w 
 for y=1:h
 if gray(y,x)<a 
 NewImage1(y,x)=gray(y,x)*c/a;
 elseif gray(y,x)<b
 NewImage1(y,x)=(gray(y,x)-a)*(d-c)/(b-a)+c;
 else
 NewImage1(y,x)=(gray(y,x)-b)*(255-d)/(255-b)+d;
 end 
 end
end

基于直方图

每个灰度图片可以看作很多像素点的集合,而每一个像素点的值就是对应的灰度值。

将所有的灰度值统计起来可以得到一个灰度值/频率的直方图
如下

 

 然后你可以对其进行处理

NewImage2=histeq(gray);
%0-10均匀分布
NewImage2_2=histeq(gray,10);
%0-2均匀分布
NewImage2_1=histeq(gray,2);
imhist(NewImage2);
imhist(NewImage2_1);
imhist(NewImage2_2);
figure,imshow(NewImage2),title(\'直方图均衡化\');
figure,imshow(NewImage2_1),title(\'改变均衡化参数\');
figure,imshow(NewImage2_2),title(\'改变均衡化参数\');

 

 对于后面的伪彩色增强请看下一篇

 https://www.cnblogs.com/sky-fish/p/14914466.html

以上是关于数字图像处理Matlab实现-图像增强-灰度图像增强的主要内容,如果未能解决你的问题,请参考以下文章

数字图像处理的Matlab实现—灰度变换与空间滤波

数字图像处理:图像的灰度变换(Matlab实现)

图像增强基于matlab GSA灰度图像增强含Matlab源码 1172期

MATLAB数字图像处理直方图

图像增强基于matlab直方图均衡化图像增强含Matlab源码 960期

图像增强基于暗通道实现图像去雾matlab源码含GUI