数字图像处理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(\'改变均衡化参数\');
对于后面的伪彩色增强请看下一篇
以上是关于数字图像处理Matlab实现-图像增强-灰度图像增强的主要内容,如果未能解决你的问题,请参考以下文章
图像增强基于matlab GSA灰度图像增强含Matlab源码 1172期