MATLAB R2016a数字图像处理34例(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-15 02:39:42

点击下载

作者:张德丰

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

MATLAB R2016a数字图像处理34例

MATLAB R2016a数字图像处理34例试读:

前言

数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。

数字图像处理在通信领域有特殊的用途及应用前景。传真通信、可视电话、会议电视、多媒体通信,以及宽带综合业务数字网(B-ISDN)和高清晰度电视(HDTV)都采用了数字图像处理技术。图像处理技术的应用与推广,使得为机器人配备视觉的科学预想转为现实。计算机视觉或机器视觉迅速发展。计算机视觉实际上就是图像处理加图像识别,要求采用十分复杂的处理技术,需要设计高速的专用硬件。

数字图像处理技术在国内外发展十分迅速,应用也非常广泛,但是就其学科建设来说还不成熟,还没有广泛适用的研究模型和齐全的质量评价体系指标,多数方法的适用性都随分析处理对象而异。数字图像处理的研究方向是建立完整的理论体系。数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。

随着计算机科学技术的不断发展以及人们在日常生活中对图像信息的不断需求,数字图像处理技术在近年来得到了迅速的发展,成为当代科学研究和应用开发中一道亮丽的风景线。数字图像处理在国民经济的许多领域已经得到了广泛的应用。农林部门通过遥感图像了解植物生长情况,进行估产,监视病虫害的发展及治理;水利部门通过遥感图像分析,获取水害灾情的变化;气象部门用以分析气象云图,提高预报的准确程度;国防及测绘部门使用航测或卫星获得地域地貌及地面设施等资料;机械部门可以使用图像处理技术,自动进行金相图分析识别;医疗部门采用各种数字图像技术对各种疾病进行自动诊断。

MATLAB是当今流行的科学计算软件。信息技术、计算机技术发展到今天,科学计算在各个领域得到了广泛的应用。在许多方面,诸如控制论、时间序列分析、系统仿真、图像信号处理等产生了大量的矩阵及其相应的计算问题。自己去编写大量的繁复的计算程序,不仅会消耗大量的时间和精力,减缓工作进程,而且往往质量不高。美国 MathWorks 软件公司推出的MATLAB软件就是为了给人们提供一个方便的数值计算平台而设计的。

MATLAB对许多专业的领域都开发了功能强大的模块集和工具箱。通常,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI 控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通信、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

本书系统地介绍了数字图像处理所涉及的数学基础、基本算法、各种典型方法和实用的处理技术,并根据编者近年来从事相关科研、教学的实践经验,列举了大量实例,以供读者参考。

本书以MATLAB系统的分析和设计为对象,以MATLAB为工具,既介绍了数字图像处理的特点与分析方法,又介绍了如何利用MATLAB解决各种图像处理问题,做到了理论与实践相结合。结合目前市场的需求,本书在编写上具有如下特点。(1)以MATLAB为导线,内容紧扣数字图像处理算法。因此,本书既可以独立使用,也可以作为数字图像处理课程的辅助教材。(2)理论与实践相结合。本书以数字图像处理技术引入,利用MATLAB解决实际的图像处理问题,做到理论与实践相结合,提高读者的动手能力。(3)深入浅出,内容丰富。本书从数字图像处理算法内容着手,逐渐深入数字图像处理各种问题,每个算法都有对应的典型实例相结合。(4)内容全,覆盖面积广。本书内容非常全面,覆盖了大部分的数字图像处理技术,是一本不错的数字图像处理的参考用书。

本书主要由张德丰编写,此外参加编写的还有赵书兰、刘志为、栾颖、王宇华、吴茂、方清城、李晓东、何正风、丁伟雄、李娅、辛焕平、杨文茵、顾艳春、邓奋发。

本书可以作为计算机应用、通信工程和电子工程专业高年级本科生、研究生、工程硕士、教师及工程技术人员学习数字图像处理和基本图形学技术的参考书,也可作为本科生和研究生的研究型课程用书。

由于时间仓促,加之编者水平有限,错误和疏漏之处在所难免。在此,诚恳地期望得到各领域的专家和广大读者的批评指正。编著者

第1章 基于小波变换的图像测试分析方法

1.1 概述

根据Haar函数定义,可得出当N=2时,哈尔(Haar)正规化变换矩阵为,因为Haar矩阵是正交矩阵,具有分离变换性质,对二维的像素矩阵,可由连续2次运用一维的Haar小波变换来实现,叫做标准分解,如果交替地对每一行和第一列像素值进行变换,则称为非标准分解。

利用矩阵形式的优点,将1×N的像素矩阵分解成若干个1×2的矩阵与上述N=2的Haar正规化变换矩阵做一维 Haar 小波变换,减少计算量,实现 Harr 小波分解。由于正规化的Haar 变换矩阵为对称变换矩阵,其逆变换矩阵和正变换相同,因此,只要把原来每次变换后得到的矩阵数值再一次变换,就可以实现重构。

Haar 小波在时域上是不连续的,因此分析性能并不很好,但它计算简单。以下示例中将采用非标准分解方法,在变换矩阵中,第一列变换得到图像像素均值,为图像像素低频分量,第二例得到图像像素差值,为高频分量,原像素值第i对像素分解的低频和高频分量值分别存在矩阵的i和N/2+i处。重构时取回这两个数据,再与逆变换矩阵相乘存回原处,则实现重构。

小波变换对图像压缩可以分为以下几个主要步骤。(1)利用离散小波变换将图像分解为低频分量、高频的水平边缘分量、垂直边缘分量和对角边缘分量。(2)对低频和高频的图像根据人类的视觉生理和心理特点做不同的量化和编码处理,进行压缩。(3)利用小波逆变换还原出原来的图像。

其中量化工作有很多方式,这里采用阈值的设置,对采用不同小波变换后得到的低频和高频图像设置不同的阈值后得到的分解图像的含有“0”数目及重构产生的不同图像文件大小做分析,即为本次阈值测试的目的。程序用MATLAB中小波函数分解图像,设置阈值后再重构保存图像,比较不同的阈值设置的测试结果。

此外,由于并不要求对分解图像做进一步的量化及编码处理后压缩存放,而是重构后存放,所以并不能对不同小波的压缩率的好坏做出结论。只能根据测试结果及小波定义做一些概括性的分析。由于MATLAB中保存TIF格式的图像文件,与其他程序保存的TIF文件存在偏差,这里为保证对比的一致性,对真彩色图像先用MATLAB对图像文件读入后保存,再做测试,保证原始图像与重构图像存放条件的一致性。对索引图像,因为其读入图像矩阵数值并不是图像颜色值,对其做测试后重构的图像,失真程度严重,不具有实际意义,最终还是转换为真彩色图像进行比较。

1.2 实例说明

(1)本实例对原始图像进行3级非标准小波分解与重构,编写的主要处理程序如下。

① 多级非标准Haar小波分解子程序nstdhaardec2.m。

② 多级非标准Haar小波重构子程序nstdhaarrec2.m。

③ 多级非标准小波分解子程序mydwt2.m,既可以用于Haar小波,也可用于db9小波,只需要修改对应的参数即可。

④ 多级非标准小波重构子程序 myidwt2.m,既可能用于 Haar 小波,也可以用于 db9小波。(2)此外,源程序中还给出了 Haar 小波3级非标准规格化分解和重构过程子程序nstdhaardemo.m。(3)在本示例程序中,需要对输入图像进行处理,输出不同格式的图像,下面对示例中使用的图像格式处理做一定的说明。

如果输入是彩色真彩图片,则载入的图像数值矩阵X为三维矩阵,有R、G、B三个分量的二维数值,在进行小波分解与重构时,须分别对每一维的数据都做分解与重构,然再转换为uint8数据类型,并显示其彩色图像。如果输入的是黑白图片,即输入的数据矩阵X为二维矩阵,则只对其做分解与重构即可。(4)使用小波变换在不同阈值下压缩图像的测试程序为thresholdtestdemo.m。(5)对不同小波在不同分解模式下进行3级分解与重图像的子程序是modetest.m。

1.3 输出结果与分析

在本例中,应用 Haar 小波对原始图像“cameraman.tif”进行三级非标准规格化分解和重构,其图像分解过程如图1-1(a)所示,而图像重构过程如图1-1(b)所示。

此外,本例中还应用小波变换子程序 thresholdtestdemo.m在不同阈值下对图像进行压缩测试,图1-2和图1-3分别说明了应用Haar小波、db9小波分别在阈值为0、5、10、20情况下的1级分解测试结果,同时也给出了在阈值为0、20、40、80情况下3级分解测试结果。图1-1 Haar小波3级非标准规格化图像分解与重构过程(JPG)1.3.1 Haar小波变换测试结果图1-2 Haar小波变换测试结果1.3.2 db9小波变换测试结果图1-3 db9小波变换测试结果

图像测试总结:从测试数据可见,阈值取得越大,分解设置阈值后的矩阵系数为“0”的数目就越多。分解级数越多,同一阈值下系数为“0”的数目也越多。同时,阈值取得越大,图像重构后的失真程度也越厉害。如测试例子中3级分解后重构,在T=40时可以看出失真情况,在T=80的重构图像上明显看到图像的失真情况比较严重。

db9与Haar小波相比较,阈值取得越大,Haar小波变换后设置阈值重构存放的文件大小越小,而对于db9小波,阈值的取值对重构后存放文件大小的影响不如Haar小波变换明显,而且有比原文件还大的项(T=50)。用其他图片试验过,结果依然如此,但阈值取得很大以后,文件大小是减小的,但此时图像已明显失真了。由此可以得出,阈值的设置,对用db9小波分解重构后用PNG格式压缩存放,不具有线性意义。据分析,这与Daubechies滤波器本身的性质有关,分解与重构时构造的正规性滤波器是不对称的,不具有线性相位(正规性条件愈好,滤波器愈长),重构过程为高低频滤波器与各个矩阵卷积后再相加来恢复图像数据,本身“0”阈值重构时得到的就只是与原图像数据相似的数据(四舍五入取整才相等,这里用四舍五入处理后保存,不过与原来用uint8()直接转换保存结果类似,最多差1KB),阈值设置后重构改变了原文件本来具有的相邻相似性数据的数量,对采用基于词典编码思想的(LZ77压缩算法)PNG格式图像压缩存放,是明显不利的,会有比原文件大小还大的情况出现,但具体要看分解图像本身数据相互之间的相似程度,文件大小变大的情况不是在相同阈值的条件下出现的。Haar小波滤波器是规格化正交基,长度较短,对称,滤波“0”阈值时能完整重构原图像,即使不做四舍五入,其误差也很小(由上述参考最大误差值表格可以看出),可以忽略不计,即使加设阈值后,这一现象也不是很明显甚至不会出现。但如果是矩阵相邻相似性数据非常多的情况,也会有这种情况出现。但随着阈值的加大,把分解矩阵中的高频分量细节几乎全部过滤掉了,重构得到的图像类似于进行图像平滑处理过的图像,即让与周围像素值的差比较大的像素改变为与周围像素值接近的值,反而对PNG格式保存有利了,文件大小就明显比原文件小了。

从图像质量比较,db9小波比Haar小波的分析性能要好,分解细致,即使在失真的情况下,也不会出现像Haar小波那样的马赛克状,只是模糊羽化状态。

另外,本实例也利用子程序modetest.m对图像进行不同模式下的3级Haar小波和db9小波分解与重构操作,应用的模式有sym模式和per模式,图1-4和图1-5分别为利用Haar和db9小波在这两种模式下进行3级小波分解和重构的结果。图1-4 Haar小波3级分解与重构图像图1-4 Haar小波3级分解与重构图像(续)图1-5 db9小波3级分解与重构图像

1.4 源程序

1.4.1 nstdhaardemo.m1.4.2 thresholdtestdemo.m1.4.3 modetest.m1.4.4 nstdhaardec2.m1.4.5 nstdhaarrec2.m1.4.6 mydwt2.m1.4.7 myidwt2.m

第2章 数字图像运算的算法分析与实现

2.1 颜色空间分析

2.1.1 颜色分析

在 MATLAB 图像处理工具箱中,总是直接(RGB 图像)或者间接(索引色图像)使用RGB数据来表示颜色。但是除了RGB颜色模型之外,还有许多其他颜色模型,如HSV模型等,这些不同的颜色模型就构成了所谓的色彩空间。

颜色模型是二维颜色空间中的一个可见光子集,它包括某个颜色域的所有颜色。常用的颜色模型有NTSC(YIQ空间)、HSV和YCBCR模型等。下面将主要对RGB颜色空间和YIQ空间做简单的介绍。1.RGB颜色空间

RGB颜色空间是显示和保存彩色图像的最常用的彩色空间,由R(红)、G(绿)和B(蓝)3个分量组成,三维空间中的3个轴分别与之对应。原点对应于黑色、离原点最远的顶点对应于白色,其他颜色落于三维空间中。由红、绿、蓝三原色组成的彩色立方体如图2-1所示。图2-1 颜色的RGB空间2.YIQ颜色空间

YIQ颜色空间来源于国家电视标准委员会彩色电视信号的传输,其中的Y分量代表图像的亮度信息,I、Q两个分量则携带颜色信息,I分量代表从橙色到青色的颜色变化,而Q分量则代表从紫色到黄色的颜色变化。

通过把彩色图像从RGB转换到YIQ颜色空间,可以把彩色图像中的宽度信息与色度信息分开,从RGB到YIQ颜色空间的转换公式为2.1.2 颜色转换函数

下面分别对颜色转换函数做简单的介绍。1.rgb2ntsc函数

功能:将RGB颜色空间转换成YIQ颜色空间,其调用格式如下。

yiqmap = rgb2ntsc(rgbmap):将RGB空间中m×3的色彩表grbmap转换成YIQ空间中的调色板yiqmap。

YIQ = rgb2ntsc(RGB):将真彩色图像RGB转换成YIQ空间中的图像YIQ。2.ntsc2rgb函数

功能:ntsc2rgb函数将NTSC值转换到RGB颜色空间。其调用格式如下:【例2-1】 rgb2ntsc与ntsc2rgb函数示例。3.rgb2hsv函数

功能:rgb2hsv函数用于将RGB模型转换成HSV模型。其调用格式如下。

cmap = rgb2hsv(M):将真彩色图像M转换为HSV空间中的图像HSV。

hsv_image = rgb2hsv(rgb_image):将RGB空间中m×3的色彩表rgb_image转换成HSV色彩空间中的调色板hsv_image。4.hsv2rgb函数

hsv2rgb函数将HSV模型转换为RGB模型。其调用格式如下。5.ycbcr2rgb函数

功能:ycbcr2rgb将YCbCr模型转换成RGB模型。其调用格式如下。

rgbmap = ycbcr2rgb(ycbcrmap):将YCbCr空间中的调色板ycbcrmap转换成RGB空间中的色彩表rgbmap。

RGB = ycbcr2rgb(YCBCR):将YCbCr空间中的图像YCbCr转换为真彩色图像RGB。【例2-2】 ycbcr2rgb函数示例。

2.2 点运算

在图像处理中,点运算(Point Operation)是一类简单却非常具有代表性的重要算法之一,也是其他图像处理运算的基础。运用点运算可以改变图像数据所占据的灰度值范围。对于一幅输入图像,经过点运算会产生一幅输出图像,输出图像中每个像素点的灰度值仅由相应输入像素点的灰度值确定。这与领域处理算法截然不同,在领域算法中,每个输出像素的灰度值由对应输入像素的一个领域内若干像素点的灰度值共同决定。因此,点运算不会改变图像内的空间位置关系。点运算是图像数字化软件以及图像显示软件的重要组成部分。2.2.1 线性点运算分析

当灰度变换GST函数为线性时,即B=ƒ(A)=αA+β,此时的变换称为线性点运算。

显然,当α=1,β=0时,原图像不发生变化;当α=1,β≠0时,图像灰度值增加或降低;当α>1时,输出图像对比度增大;当0<α<1时,输出图像对比度减小;当α<0时,图像亮区变暗,暗区域变亮,即图像求补。

当图像的曝光不足或过度时,图像灰度值就会限制在一个较小的范围内,这时在显示器上看到的将是一个模糊的图像。利用线性点运算对图像进行处理,就能增强图像的灰度层次,改善图像的视觉效果。由于线性点运算具有简单直观性,而且运算后图像可以得到比较有效的改善,因此在实际应用中得到了广泛应用,下面就给出一个实例进行讨论。【例2-3】 对原始lena图像进行上述线性变换。

运行程序,效果如图2-2所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载