数字图像处理课程设计报告-华工物院

上传人:新** 文档编号:506371129 上传时间:2023-11-17 格式:DOC 页数:22 大小:180KB
返回 下载 相关 举报
数字图像处理课程设计报告-华工物院_第1页
第1页 / 共22页
数字图像处理课程设计报告-华工物院_第2页
第2页 / 共22页
数字图像处理课程设计报告-华工物院_第3页
第3页 / 共22页
数字图像处理课程设计报告-华工物院_第4页
第4页 / 共22页
数字图像处理课程设计报告-华工物院_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数字图像处理课程设计报告-华工物院》由会员分享,可在线阅读,更多相关《数字图像处理课程设计报告-华工物院(22页珍藏版)》请在金锄头文库上搜索。

1、-目录摘要1 课程设计的任务与要求1.1 课程设计的任务1.2 课程设计的要求1.3 课程设计的分析2 设计理论基础知识2.1数字图像处理基础知识2.1.1 数字图像表示2.1.2 数字图像处理技术2.2 MATLAB设计基础知识2.2.1 MATLAB处理的图像类型和文件格式2.2.2 图像文件的读取图像数据类型和图像类型转换图像显示3 对girl+noise图像中值滤波设计3.1 中值滤波基础3.2 girl+noise图像中值滤波的MATLAB设计图像的读取及转换3.2.2 利用冒泡算法求出邻域内的中值图像的输出3.3 MATLAB函数实现3.4 中值滤波算法的改进4 对plane0图像

2、边缘检测设计4.1 边缘检测基础4.2边缘检测模板4.2.1 一阶微分算子(梯度算子)4.2.2 二阶微分算子(Laplacian算子)4.3 Laplacian算子边缘检测的MATLAB设计4.4 输出图像评价及改进5 对car0.bmp和 Image0.tif的图像增强设计5.1 灰度级基础线性灰度变换5.1.2 分段线性灰度变换5.1.3 非线性灰度变换5.1.4 直方图基础5.2 Image0.tif图像增强的MATLAB设计5.2.1 图像的读取及转换5.2.2 原图像直方图的绘制5.2.3 灰度值变换5.2.4 灰度变换后图像的直方图的绘制5.2.5 灰度变换图像增强对比5.2.6

3、 直方图对比5.3 car0.bmp图像增强的MATLAB设计5.3.1 原图像的显示5.3.2 原图像直方图绘制与分析5.3.3 直方图均衡化处理及显示5.3.4 直方图均衡化后的图像显示6 结论摘要通过一定的算法,用数字计算机或其他数字硬件对图像进行相应的分析处理,以提高图像的质量来满足人眼或其他设备的需求,即称为数字图像处理,也称为计算机图像处理。MATLAB作为一种面向科学与工程计算的高级语言,拥有着强大的数据分析和处理能力、灵活的程序语言、丰富的图像处理函数与高质量的图形界面以及与其他程序语言便捷的接口功能,使其在数字图像处理方面有着极大的灵活性、扩展性和包容性。此文中介绍了一些基础

4、的数字图像处理技术,主要分析了图像增强中的灰度级变换,直方图处理和空域滤波,图像分割中的图像锐化边缘检测问题,以MATLAB为平台,给出了具体程序,仿真结果。关键词:MATLAB;图像增强;空域滤波;边缘检测1 课程设计的任务与要求1.1 课程设计的任务对四*图片,分别设计四个程序,实现图像增强或图像复原1.2 课程设计的要求研究Matlab5.*以上版本对图像的读取、显示与输出方法,给出概要说明。(1)利用MATLAB编写一段M程序,计算所给图像(car0.bmp, Image0.tif)的直方图,并利用灰度线性变换增强该图像。(2)说明中值滤波的算法和优势, 编写一段M程序, 对所给的图像

5、(girl+noise)进行中值滤波去除噪声。讨论是否可以改进这一算法。(3)编写一段M程序,利用Laplacian算子,求所给图像(plane0.tif)的边缘检测图像。(注:除图像的读取、显示与输出,其他处理均不能直接调用Matlab函数)1.3 课程设计的分析图像增强从技术上可以分为两大类:空间域图像增强和频域图像增强。空间域图像增强直接对图像的像素进行处理,即改变原始图像中像素的灰度值;而频域图像增强则是通过修改图像的傅里叶变换系数,然后进行傅里叶逆变换,从而达到图像增强。此次课程设计中,主要是采用空间域图像增强。基本设计思路是:图像文件读取,灰度图数据处理,绘制图像输出。首先要对图像

6、文件进行图像类型分析,确保将图片信息转化为灰度图像输入;其次,对图像的数据类型做相应的转换;然后,通过一定的算法对灰度图做相应的处理;最后,输出处理结果后的灰度图即可。2 设计理论基础知识2.1数字图像处理基础知识2.1.1 数字图像表示一幅图像可以用二维的函数表示,如f(*,y),其中*,y表示二维空间中的一个坐标点的位置,f表示图像在点(*,y)处图像的*种属性,如灰度。通常,图像的取值f,*,y是连续的,通过取样量化和编码,将函数f(*,y)转换为数字图像,连续图像取样为一个二维阵列f(*,y),该阵列包含有M行N列,其中(*,y)是离散坐标。因此,通常用灰度值分布I=f(*,y)来表示

7、一幅数字图像,也可用M*N矩阵形式来描述一幅M*N的数字图像。该矩阵中的每个元素称为图像单元,图像元素或像素。2.1.2 数字图像处理技术主要包含:图像获取,图像变换,图像增强,图像复原技术,图像编码技术,图像分割技术。2.2 MATLAB设计基础知识此次课程设计采用的是MATLAB2013A版本,与大多数Matlab5.*以上版本的软件语言函数的应用上没有太大的差异,这里不做过多的比较。MATLAB是一个具有高性能计算和可视化功能的科学环境、操作方便、计算精度高,能完成绝大部分科学计算。其中,MATLAB图像处理工具箱提供了300多个图像相关函数,能方便应用于图像算法分析和数据可视化功能,是

8、进行图像处理的有效工具。由于此次课程设计要求只涉及到图像的读取、显示与输出,其余的图像处理函数不会做介绍分析,且只对课程设计所能应用到的的读取显示输出函数做介绍。2.2.1 MATLAB处理的图像类型和文件格式此次课程设计中的四*图片,只包含了两种图像格式,即bmp和tif,都在MATLAB的支持格式*围内。MATLAB支持5种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像。此次课程设计中,对图像的处理完全建立在灰度图像上,即只对图像的灰度值感兴趣,故要先将其他图像类型转换为灰度图像。灰度图像中矩阵的每一个元素对应于图像的一个像素点,矩阵元素的数据类型可以是uint8、uint

9、16或double型,元素数值代表了像素的灰度值或亮度值。2.2.2 图像文件的读取在利用MATLAB进行数字图像处理时,需要先读取图像的数据。MATLAB通常利用imread完成图像的读取,其语法格式为:A=imread(指定图像存储路径及文件名),表示将指定的图像数据读取到数字A中。图像数据类型和图像类型转换课程设计过程中对图像的灰度值进行处理时往往会产生小数,需要将灰度值数据类型转换为双精度double类型,进行灰度处理,然后利用round函数将灰度值进行四舍五入取整,最后输出时,利用uint8函数把灰度值转换为的无符号整形数据(取值*围从0到255),再利用输出函数输出图像即可。其语法

10、格式为:I=double(I)I=round(I)I=uint8(I)在课程设计中,需要将一个类型的文件转换成灰度图像文件读取,用到了rgb2gray函数,转换过程中,将丢掉色调饱和度信息,只利用照度信息转换,其语法格式为:I=rgb2gray(RGB),输入的真彩色图像RGB的数据类型可以使uint8、uint16或double型,输出的灰度图像I的数据类型与输入类型相同。图像显示课程设计中,将通过一定的算法处理后的灰度图显示出来,用到了比较常用的imshow函数,其语法格式为:figure,imshow(I),显示灰度图像I,参量I为矩阵,其元素*围为0,255,所以在图像显示时注意要应用

11、uint8函数对I进行数值转换。课程设计中,涉及到直方图的绘制,其语法格式为:figure,bar(0:255,G),其中G为存放灰度出现概率的一维向量。3 对girl+noise图像中值滤波设计3.1 中值滤波基础中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,将每一像素点的灰度值设置为该点*邻域窗口内所有像素点灰度值的中值。优点是运算简单,中值滤波在对脉冲干扰及椒盐噪声的抑制效果很好,在滤除噪声的同时能很好的保护图像的边缘信息,使图像较好的复原。此外,很容易自适应化,从而进一步提高滤波性能。对于中值滤波法来说,选取合适的窗口形状和窗口尺寸大小是十分重要的。实际应用中,中

12、值滤波的窗口可以选择线性、十字形、方形、菱形和圆形等,而此次课程设计中选取的是3*3的方形窗口。通常选取奇数尺寸的窗口,通过不断的实验从小窗口到大窗口,才能选取出最佳的窗口。3.2 girl+noise图像中值滤波的MATLAB设计图像的读取及转换clear allRGB=imread(F:1designgirl+noise.bmp);I=rgb2gray(RGB); %将图形转换成灰度图像3.2.2 利用冒泡算法求出邻域内的中值J=uint8(I); %将会度值转换为整形数据m n=size(J); %求图像尺寸J3=; %创建用来存放中值滤波后的灰度图J3for i=2:m-1for j=

13、2:n-1J1=J(i-1: i+1,j-1:j+1);J1=reshape(J1,1,9); %将3*3中值滤波窗口矩阵转换成1*9矩阵方便排序 for h=1:9 %利用冒泡排序找出中值 for w=h+1:9 if J1(h)J1(w) t=J1(w); J1(w)=J1(h); J1(h)=t; end end end J3(i,j)=J1(5); %将每一像素点灰度值设为*点邻域内的中值灰度值endend图像的输出figure(1),imshow(I);title(原始椒盐噪声图像);figure(2),imshow(uint8(J3);title(中值滤波图像);如下图,中值滤波实

14、验后的图像很好的符合人眼需求,中值滤波对于椒盐噪声有很好的滤除效果。3.3 MATLAB函数实现MATLAB的图像处理工具箱提供了medfilt2函数用于实现中值滤波,其语法格式为:B=medfilt2(A);用大小为3*3的窗口对图像A进行中值滤波。3.4 中值滤波算法的改进中值滤波作为数字图像处理中比较常用的滤波方法,其滤波效果依赖于窗口和数据点,使得它在处理空间密度大的冲击噪声时受到限制,可以通过MATLAB中提供的工具箱对中值滤波算法进行改进,采用自适应中值滤波的方法。4 对plane0图像边缘检测设计4.1 边缘检测基础图像的边缘信息是图像最基本也是最重要的图像信息,边缘检测是图像处

15、理和计算机视觉中的基本问题,边缘检测的方法也一直是图像分析与识别领域中十分热门的课题。边缘,可以说是周围像素有灰度变化的那些像素的集合。可以大致分为两种,一种是阶跃性边缘,它两边像素的灰度值有显著的不同;另一种是屋顶状边缘,它位于灰度值从增加到减少的变化转折点处。4.2边缘检测模板边缘检测的工具主要是边缘检测模板,也叫边缘算子。图像的边缘是灰度值不连续的结果,这种不连续可以用求导数的方法进行检查,而在数字图像处理中,求导运算即为差分运算,考察图像每个像素*个邻域内灰度的变化利用边缘邻近一阶或二阶导数的规律来检测边缘。4.2.1 一阶微分算子(梯度算子)梯度对应的是一阶导数(差分)信息,是一阶导数算子。实际的数字图像是经过空间采集,灰度量化的图像,在求取梯度的时候,用差分代替微分。而且为了计算简单,梯度的幅度大小通常用各方向差分的绝对值的和来运算。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号