最新图像增强与MATLAB实现

  • 格式:doc
  • 大小:1.28 MB
  • 文档页数:18

__________________________________________________ 收集于网络,如有侵权请联系管理员删除 《数字图像处理》

课程设计

课设题目:图像增强与MATLAB实现 学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班 学生姓名:魏超 学生学号:20130810010216 指导老师:范自柱 __________________________________________________

收集于网络,如有侵权请联系管理员删除 图像增强与MATLAB实现

摘 要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。

关键字:图像;图像增强;算法 __________________________________________________

收集于网络,如有侵权请联系管理员删除 目 录 一、MATLAB的简介 .............................................. 1 1.1 MATLAB主要功能 ........................................... 1 二、MATLAB的主要功能 .......................................... 1 2.1数字增强技术概述 .......................................... 1 2.2数字图像的表示 .......................................... 1

三、直方图的均衡化 ............................................ 2 3.1图像的灰度 ................................................ 2 3.2灰度直方图 ................................................ 2 3.3直方图均衡化 .............................................. 3

四、图像二值化 ................................................ 5 4.1图像二值化 ................................................ 5 五、对比度增强 ................................................ 6 5.1对比度增强 ................................................ 6 5.2灰度调整 .................................................. 6 5.3对数变换 .................................................. 7

六、滤波 ...................................................... 8 6.1平滑滤波 .................................................. 8 6.2线性平滑滤波程序: ........................................ 8 6.3非线性滤波 ................................................ 9

七、锐化 ..................................................... 13 八、参考文献 ................................................. 14 九、自我评价 ................................................. 14 __________________________________________________

收集于网络,如有侵权请联系管理员删除 一、Matlab的简介

1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。

二、MATLAB的主要功能

2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

2.2数字图像的表示 图像并不能直接用计算机来处理,处理前必须先转化成数字图像。由于从外界得到的图像多是二维(2-D)的,一幅图像可以用一个2-D数组),(yxf表示。这

里x和y表示二维空间XY中一个坐标点的位置,而f则代表图像在点),(yx的某种性质数值。为了能够用计算机对图像进行处理,需要坐标空间和性质空间都离散化。 __________________________________________________ 收集于网络,如有侵权请联系管理员删除 三、直方图的均衡化

3.1图像的灰度 常用的图像一般是灰度图,这时f表示灰度值,反映了图像上对应点的亮度。亮度是观察者对所看到的物体表面反射光强的量度。作为图像灰度的量度函数

),(yxf应大于零。人们日常看到的图像一般是从目标上反射出来的光组成的,

所以),(yxf可看成由两部分构成:入射到可见场景上光的量;场景中目标对反射光反射的比率。确切地说它们分别称为照度成分),(yxi和反射成分),(yxr。),(yxf与),(yxi和),(yxr都成正比,可表示成),(yxf=),(yxi×),(yxr。

3.2灰度直方图 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。 程序如下: %灰度直方图 I=imread('D:\image\rice.bmp');%读取图像 subplot(2,1,1); Imshow(I);%显示图像 title('(a)原图'); subplot(2,1,2); imhist(I);%绘制图像的灰度直方图 title('(b)原图的灰度直方图'); __________________________________________________

收集于网络,如有侵权请联系管理员删除 图4.1 3.3直方图均衡化

直方图均衡化过程如下: (1)计算原图像的灰度直方图)(KrrP; (2)计算原图像的灰度累积分布函数ks,进一步求出灰度变换表; (3)根据灰度变换表,将原图像各灰度级映射为新的灰度级。 灰度直方图均衡化程序: %灰度直方图均衡化 I=imread('D:\image\bubbles.bmp');%读取图像 subplot(2,2,1); Imshow(I);%显示图像 title('原图'); subplot(2,2,2); imhist(I);%绘制图像的灰度直方图 title('原图的灰度直方图'); subplot(2,2,3); J=histeq(I,64);%对图像进行均衡化处理,返回有64级灰度的图像J Imshow(J);%显示图像 title('原图直方图均衡化'); subplot(2,2,4); imhist(J);%绘制图像的灰度直方图

title('均衡后的灰度直方图') __________________________________________________ 收集于网络,如有侵权请联系管理员删除 以下展示了直方图均衡化的效果:

图4.2 优势:能够使得处理后图像的概率密度函数近似服从均匀分布,其结果扩张了像素值的动态范围,是一种常用的图像增强算法。 不足:不能抑制噪声。

四、图像二值化

4.1图像二值化 图像的二值化处理就是将图像上的像素点的灰度值设置为0或255,也就是讲整个图像呈现出明显的黑白效果。首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。 图像二值化程序: %图像二值化 (选取一个域值,(5) 将图像变为黑白图像) I=imread('beauty.tif'); bw=im2bw(I,0.5);%选取阈值为0.5 subplot(1,3,1); imshow(I);