数字图像处理
姓名:
学号:120402053
班级:物联网121
[摘 要]图像增强是数字图像的预处理,对图像整体或局部特征能有效地改善。 我们讨论了基于直方图的均衡化和规定化处理的图像增强技术基本原理,给出了相关推导公式和算法;同时,以一个灰度图像为例,用 MATLAB 语言实现了直方图均衡化和规定化增强处理,并给出了具体程序、实验结果图像及直方图。结果表明,直方图均衡化和规定化处理能有 效改善灰度图像的时比度差和灰度动态范围 。
[关键词] 图像增强;直方图;均衡化;邻域滤波; 图像的锐化;MATLAB;
MATLB 语言被称为是一种“演草纸式的科学计算语言”,它在数值计算、数据处理、自动控制、信号处理、神经网络、优化计算、模糊逻辑、小波分析、图像处理、统计分析、金融分析等众多的领域有着广泛的用途。特别是它所提供的各种工具箱,使得我们在科学计算、工程设计、数值分析、图像处理等领域的各种计算、演算、模拟等工作变得相当简单。MATI AB不仅具有面向对象的计算机语言特征,也初具面向任务的计算机语言的思想。我从应用所学的MATLAB 的语言知识与正在学习的数像处理技术角度利用MATLAB 课本中图像增强部分理论进行了验证。
一、 MATLAB 语言的特点
由于MATLAB 是用c 语言编写的,MATLAB 提供了和c 语言几乎一样多的运算符,灵活使用
MATLAB 的运算符将使程序变得极为简短。MATI AB既具有结构化的控制语句,如for 循环、while 循环、break 语句和if 语句,又有面向对象编程的特性。在MATLAB 里,语法限制不严格,程序设计自由度大,程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。MATLAB 的图形功能强大。在FORTRAN 和C 语言里,绘图都程不容易,但在MATILAB 里,数据的可视化非常简单。MATLAB 还有较强的编辑图形界面的能力。
MATLAB 的缺点是,它与其它高级程序相比,程序的执行速度较慢。
功能强劲的工具箱是MATLAB 的另一重大特色。MATLAB 包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control toolbox ,image processing toolbox,signal processing toolbox等。这些工具箱都是由该领域内的学术水平程高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。
二、 利用MATLAB 进行图像处理
MATLAB 推出了功能更强大的适应于图像分析和处理的工具箱.常用的有图像处理工具箱、小波工具箱及数字信号处理工具箱。利用如此多的工具,我们可以方便地从各个方面对图像的性质进行深入的研究。在MATI AB中可用两种数据类型来存储图像:双精度型和8位无符号整数型,图形命令对不同的数据类型做不同的处理。MATI AB支持的图形文件的格式包括 TIFF 、JPEG 、BMP 、PCX 、XWD 和HDF ;支持的图像类型包括:索引图像、灰度图像、二进制图像、RGB 图像。MATI AB 在图像处理中的应用都是由相应构。MATI AB函数来实现。
下面讨论如何利用MATLB 理数字图像数字图像文件操作和图像显示
MATILAB 提供了图像文件读人函数imread(),可用它来读人BMP 、HDF 、JPEG 、PCX 、TIFF 、XWD 等格式图像文件。MATI ,AB 还提供了imwrite()图像写出函数。显示图像函数有image0、imshow()。imcrop( )对图像进行裁剪,图像的插值缩放可用imresize( )函数实现,旋转用imrotate( )实现;直方图均衡化可用histeq( )函数实现等。
三、常用图像的增强技术
图像增强是数字图像的预处理是为了达到两个目的:一是为了改善图像的视觉效果,提到图像的清晰度;二是增强感兴趣的部分,以提高图像的可懂度。我重点利用数字图像这门课程的原理及算法等理论知识基于直方图的均衡化和规定化处理的图像增强技术基本原理,
图像增强技术有直方图修改、图像平滑滤波、图像锐化等。图像增强技术主要分为两类:频域增强法和空间域增强法。图像增强包括空域法: 点运算(灰度级处理、直方图处理)与滤波运算(平滑滤波、锐化滤波)和频域法。空间滤波:平滑空间滤波有邻域平均法(均值滤波)、中值滤波 ;锐化空间滤波有梯度运算和拉普拉斯运算等。我依次利用MATLAB 对课本上的点运算中的直方图均衡化处理;邻域平均法进行了均值滤波;和图像锐化分别验证并给出了图像与程序。
四、图像与程序
1. 直方图均衡化处理:MATLAB 源程序如下:
clc;
clear all;
close all;
%较暗图像及其直方图均衡化
f1=imread('e:/gif/lib.gif');
figure(1);
subplot(2,2,1);
imshow(f1);
title('(a)原图像');
subplot(2,2,2);
imhist(f1);
axis off;
title('(b)原图像的直方图');
f2=histeq(f1);
subplot(2,2,3);
imshow(f2);
title('(c)直方图均衡化后的图像');
subplot(2,2,4);
imhist(f2);
axis off;
title('(d)均衡化的直方图');
%较亮图像及其直方图均衡化
f3=imread('e:/gif/shuaige.gif');
figure(2);
subplot(2,2,1);
imshow(f3);
subplot(2,2,2);
imhist(f3);
axis off;
f4=histeq(f3);
subplot(2,2,3);
imshow(f4);
title('(c)直方图均衡化后的图像');
subplot(2,2,4);
imhist(f4);
axis off;
程序运行结果如下:
小结:通过以上两个图的均衡化直方图的对比可得到:较暗图像的对比度低, 较亮图像 对 比度高。与原理相一致。
2.邻域平均法进行了均值滤波:MATLAB 源程序如下:
clear all;
close all;
f=imread('e:/gif/lxiaoyuan.gif');
subplot(2,2,1);
imshow(f);
xlabel('(a)原图像');
%图像加噪并显示加噪图像,高斯白噪声 m=0,⊿=0.002
f0=imnoise(uint8(f),'gaussian',0,0.002);
subplot(2,2,2);
imshow(f0);
xlabel('(b)加噪图像');
axis image
h2=[1 1 1;1 1 1;1 1 1]/8;
f2=imfilter(f0,h2,'symmetric','conv');
subplot(2,2,4);
imshow(f2);
xlabel('(c)8-邻域平均滤波');
f15=double(imnoise(f0,'gaussian',0,0.002));
f16=double(imnoise(f0,'gaussian',0,0.002));
fnew3=(f1+f2+f3+f4+f5+f6+f7+f8+f9+f10+f11+f12+f13+f14+f15+f16)/16; subplot(2,3,6);
imshow(uint8(fnew3));
xlabel('(d)16幅图像平均');
3.图像的锐化:这种滤波器必须满足滤波器的中心系数为正数,其他系数为负数。线性高通滤波器3×3模板的典型系数
MATLAB 源程序如下:
clear all;
close all;
f=imread('e:/gif/shuaige.jpg');
subplot(2,2,1);
imshow(f);
title('(a)原图象');
a=2;
G1=[0 -a 0;-a 4*a -a;0 -a 0];
f1=imfilter(f,G1,'symmetric','conv');
subplot(2,2,3);
imshow(f1);
xlabel('(b)加重的边缘');
a=2;
G2=[0 -a 0;-a 1+4*a -a;0 -a 0];
f2=imfilter(f,G2,'symmetric','conv');
subplot(2,2,4);
imshow(f2);
xlabel('(c)锐化的结果');
锐化的实质为:锐化图像=原图像+加重的边缘。
要用于增强图像的边缘及灰度跳变部分;其处理的主要目的是为了突出图像中的细节,增强图像中的边缘、轮廓以及灰度突变部分。如上图所示。
总结:直方图均衡化是通过对原图像进行灰度映射变换,使其直方它是直方图规定化的一个特例。直方图规定化可以特出感兴趣的灰度围;图变为均匀分布的一种灰度非线性变换。是以累积分布函数作为增强函数;基于直方图的图像增强技术能在一定程度L 改善图像的对比度差细节和灰度动态范围。应该指出的不足,图像增强没有固定的理论方法,增强质量往往由增强目的而主观评定; 邻域平均方法的目的是为了去除或衰减图像中的噪声和假轮廓。邻域平均方法-积分过程-结果使图像的边缘模糊;
锐化的实质为:锐化图像=原图像+加重的边缘。突出图像中的细节,增强图像中的边缘、轮廓以及灰度突变部分。锐化方法-微分过程-结果使图像的边缘突出;是通过先去噪,再锐化操作来实现的。
经过老师的细心教授MATLAB 的正确使用和一定量的作业样本及习题的练习,使我学的好。当然,我也体会到MATLAB 的功能强大,在很多学科都有应用,所以,学好要它不是一学期的课程能够解决的;我要继续学习它,学的多一点。同时,还有我们数字图像处理的老师,他让我了解了这门课的大概过程。加以个人的兴趣,做的并不好,图像课程学完后相信会做的比这好。
数字图像处理
姓名:
学号:120402053
班级:物联网121
[摘 要]图像增强是数字图像的预处理,对图像整体或局部特征能有效地改善。 我们讨论了基于直方图的均衡化和规定化处理的图像增强技术基本原理,给出了相关推导公式和算法;同时,以一个灰度图像为例,用 MATLAB 语言实现了直方图均衡化和规定化增强处理,并给出了具体程序、实验结果图像及直方图。结果表明,直方图均衡化和规定化处理能有 效改善灰度图像的时比度差和灰度动态范围 。
[关键词] 图像增强;直方图;均衡化;邻域滤波; 图像的锐化;MATLAB;
MATLB 语言被称为是一种“演草纸式的科学计算语言”,它在数值计算、数据处理、自动控制、信号处理、神经网络、优化计算、模糊逻辑、小波分析、图像处理、统计分析、金融分析等众多的领域有着广泛的用途。特别是它所提供的各种工具箱,使得我们在科学计算、工程设计、数值分析、图像处理等领域的各种计算、演算、模拟等工作变得相当简单。MATI AB不仅具有面向对象的计算机语言特征,也初具面向任务的计算机语言的思想。我从应用所学的MATLAB 的语言知识与正在学习的数像处理技术角度利用MATLAB 课本中图像增强部分理论进行了验证。
一、 MATLAB 语言的特点
由于MATLAB 是用c 语言编写的,MATLAB 提供了和c 语言几乎一样多的运算符,灵活使用
MATLAB 的运算符将使程序变得极为简短。MATI AB既具有结构化的控制语句,如for 循环、while 循环、break 语句和if 语句,又有面向对象编程的特性。在MATLAB 里,语法限制不严格,程序设计自由度大,程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。MATLAB 的图形功能强大。在FORTRAN 和C 语言里,绘图都程不容易,但在MATILAB 里,数据的可视化非常简单。MATLAB 还有较强的编辑图形界面的能力。
MATLAB 的缺点是,它与其它高级程序相比,程序的执行速度较慢。
功能强劲的工具箱是MATLAB 的另一重大特色。MATLAB 包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control toolbox ,image processing toolbox,signal processing toolbox等。这些工具箱都是由该领域内的学术水平程高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。
二、 利用MATLAB 进行图像处理
MATLAB 推出了功能更强大的适应于图像分析和处理的工具箱.常用的有图像处理工具箱、小波工具箱及数字信号处理工具箱。利用如此多的工具,我们可以方便地从各个方面对图像的性质进行深入的研究。在MATI AB中可用两种数据类型来存储图像:双精度型和8位无符号整数型,图形命令对不同的数据类型做不同的处理。MATI AB支持的图形文件的格式包括 TIFF 、JPEG 、BMP 、PCX 、XWD 和HDF ;支持的图像类型包括:索引图像、灰度图像、二进制图像、RGB 图像。MATI AB 在图像处理中的应用都是由相应构。MATI AB函数来实现。
下面讨论如何利用MATLB 理数字图像数字图像文件操作和图像显示
MATILAB 提供了图像文件读人函数imread(),可用它来读人BMP 、HDF 、JPEG 、PCX 、TIFF 、XWD 等格式图像文件。MATI ,AB 还提供了imwrite()图像写出函数。显示图像函数有image0、imshow()。imcrop( )对图像进行裁剪,图像的插值缩放可用imresize( )函数实现,旋转用imrotate( )实现;直方图均衡化可用histeq( )函数实现等。
三、常用图像的增强技术
图像增强是数字图像的预处理是为了达到两个目的:一是为了改善图像的视觉效果,提到图像的清晰度;二是增强感兴趣的部分,以提高图像的可懂度。我重点利用数字图像这门课程的原理及算法等理论知识基于直方图的均衡化和规定化处理的图像增强技术基本原理,
图像增强技术有直方图修改、图像平滑滤波、图像锐化等。图像增强技术主要分为两类:频域增强法和空间域增强法。图像增强包括空域法: 点运算(灰度级处理、直方图处理)与滤波运算(平滑滤波、锐化滤波)和频域法。空间滤波:平滑空间滤波有邻域平均法(均值滤波)、中值滤波 ;锐化空间滤波有梯度运算和拉普拉斯运算等。我依次利用MATLAB 对课本上的点运算中的直方图均衡化处理;邻域平均法进行了均值滤波;和图像锐化分别验证并给出了图像与程序。
四、图像与程序
1. 直方图均衡化处理:MATLAB 源程序如下:
clc;
clear all;
close all;
%较暗图像及其直方图均衡化
f1=imread('e:/gif/lib.gif');
figure(1);
subplot(2,2,1);
imshow(f1);
title('(a)原图像');
subplot(2,2,2);
imhist(f1);
axis off;
title('(b)原图像的直方图');
f2=histeq(f1);
subplot(2,2,3);
imshow(f2);
title('(c)直方图均衡化后的图像');
subplot(2,2,4);
imhist(f2);
axis off;
title('(d)均衡化的直方图');
%较亮图像及其直方图均衡化
f3=imread('e:/gif/shuaige.gif');
figure(2);
subplot(2,2,1);
imshow(f3);
subplot(2,2,2);
imhist(f3);
axis off;
f4=histeq(f3);
subplot(2,2,3);
imshow(f4);
title('(c)直方图均衡化后的图像');
subplot(2,2,4);
imhist(f4);
axis off;
程序运行结果如下:
小结:通过以上两个图的均衡化直方图的对比可得到:较暗图像的对比度低, 较亮图像 对 比度高。与原理相一致。
2.邻域平均法进行了均值滤波:MATLAB 源程序如下:
clear all;
close all;
f=imread('e:/gif/lxiaoyuan.gif');
subplot(2,2,1);
imshow(f);
xlabel('(a)原图像');
%图像加噪并显示加噪图像,高斯白噪声 m=0,⊿=0.002
f0=imnoise(uint8(f),'gaussian',0,0.002);
subplot(2,2,2);
imshow(f0);
xlabel('(b)加噪图像');
axis image
h2=[1 1 1;1 1 1;1 1 1]/8;
f2=imfilter(f0,h2,'symmetric','conv');
subplot(2,2,4);
imshow(f2);
xlabel('(c)8-邻域平均滤波');
f15=double(imnoise(f0,'gaussian',0,0.002));
f16=double(imnoise(f0,'gaussian',0,0.002));
fnew3=(f1+f2+f3+f4+f5+f6+f7+f8+f9+f10+f11+f12+f13+f14+f15+f16)/16; subplot(2,3,6);
imshow(uint8(fnew3));
xlabel('(d)16幅图像平均');
3.图像的锐化:这种滤波器必须满足滤波器的中心系数为正数,其他系数为负数。线性高通滤波器3×3模板的典型系数
MATLAB 源程序如下:
clear all;
close all;
f=imread('e:/gif/shuaige.jpg');
subplot(2,2,1);
imshow(f);
title('(a)原图象');
a=2;
G1=[0 -a 0;-a 4*a -a;0 -a 0];
f1=imfilter(f,G1,'symmetric','conv');
subplot(2,2,3);
imshow(f1);
xlabel('(b)加重的边缘');
a=2;
G2=[0 -a 0;-a 1+4*a -a;0 -a 0];
f2=imfilter(f,G2,'symmetric','conv');
subplot(2,2,4);
imshow(f2);
xlabel('(c)锐化的结果');
锐化的实质为:锐化图像=原图像+加重的边缘。
要用于增强图像的边缘及灰度跳变部分;其处理的主要目的是为了突出图像中的细节,增强图像中的边缘、轮廓以及灰度突变部分。如上图所示。
总结:直方图均衡化是通过对原图像进行灰度映射变换,使其直方它是直方图规定化的一个特例。直方图规定化可以特出感兴趣的灰度围;图变为均匀分布的一种灰度非线性变换。是以累积分布函数作为增强函数;基于直方图的图像增强技术能在一定程度L 改善图像的对比度差细节和灰度动态范围。应该指出的不足,图像增强没有固定的理论方法,增强质量往往由增强目的而主观评定; 邻域平均方法的目的是为了去除或衰减图像中的噪声和假轮廓。邻域平均方法-积分过程-结果使图像的边缘模糊;
锐化的实质为:锐化图像=原图像+加重的边缘。突出图像中的细节,增强图像中的边缘、轮廓以及灰度突变部分。锐化方法-微分过程-结果使图像的边缘突出;是通过先去噪,再锐化操作来实现的。
经过老师的细心教授MATLAB 的正确使用和一定量的作业样本及习题的练习,使我学的好。当然,我也体会到MATLAB 的功能强大,在很多学科都有应用,所以,学好要它不是一学期的课程能够解决的;我要继续学习它,学的多一点。同时,还有我们数字图像处理的老师,他让我了解了这门课的大概过程。加以个人的兴趣,做的并不好,图像课程学完后相信会做的比这好。