图像增强、图像滤波、边缘检测的MATLAB实现

2. 图像增强

图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。其主要目的是使处理后的图像对某些特定的应用比原来的图像更加有效。图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理、和彩色处理技术等。图像增强有图像对比度增强、亮度增强,轮廓增强等等。

下面利用直方图统计算法对灰度图像进行增强:

程序代码:

I=imread('cameraman.tif');
subplot(121)
imshow(I);
title('原始图像');
subplot(122)
imhist(I,64)
%绘制图像的直方图,n=64为灰度图像灰度级,若I为灰度图像,默认n=256;
若I为二值图像,默认n=2。
title('图像的直方图');
(请自己运行查看)
n=256时:
(请自己运行查看)

下面利用直方图均衡化增强图像的对比度:

I=imread('cameraman.tif');
J=histeq(I);
%将灰度图像转换成具有64(默认)个离散灰度级的灰度图像
imshow(I)
title('原始图像')
figure,imshow(J)
title('直方图均衡化后的图像')
figure(1)
subplot(121);imhist(I,64)
title('原始图像的直方图')
subplot(122);imhist(J,64)
title('均衡化的直方图')
(请自己运行查看)

分析:从上图中可以看出,用直方图均衡化后,图像的直方图的灰度间隔被拉大了,均衡化的图像的一些细节显示了出来,这有利于图像的分析和识别。直方图均衡化就是通过变换函数histeq将原图的直方图调整为具有“平坦”倾向的直方图,然后用均衡直方图校正图像。

下面利用直方图规定化对图像进行增强:

I=imread('cameraman.tif');
figure,imshow(I);
title('原始图像');
hgram=50:2:250; %规定化函数
J=histeq(I,hgram);
figure,imshow(J);
title('直方图规定化后的图像');
figure,imhist(I,64);
title('原始图像的直方图');
figure,imhist(J,64);
title('直方图规定化后的直方图');

运行结果:

变换灰度间隔后的图像和直方图:

hgram=50:1:250; hgram=50:5:250;

3 图像滤波的 Matlab 实现

3.1 conv2 函数

功能:计算二维卷积

格式:C=conv2(A,B)

C=conv2(Hcol,Hrow,A)

C=conv2(...,'shape')

说明:对于 C=conv2(A,B) ,conv2 的算矩阵 A 和 B 的卷积,若 [Ma,Na]=size(A), [Mb,Nb]=size(B), 则 size(C)=[Ma+Mb-1,Na+Nb-1];

C=conv2(Hcol,Hrow,A) 中,矩阵 A 分别与 Hcol 向量在列方向和 Hrow 向量在行方向上进行卷积;C=conv2(...,'shape') 用来指定 conv2

返回二维卷积结果部分,参数 shape 可取值如下:

》full 为缺省值,返回二维卷积的全部结