数字图像处理-课程设计(37页).doc
《数字图像处理-课程设计(37页).doc》由会员分享,可在线阅读,更多相关《数字图像处理-课程设计(37页).doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-电子科技大学数字图像处理课程设计 课题名称 数字图像处理 院(系) 通信与信息工程学院 专 业 通信工程 姓 名 王亮森 学 号 2014010904013 起讫日期 2015.11.27 2015.12.13 指导教师 王登位 2015年12月15日目 录摘要: 03课题一:图像的灰度级分辨率调整04课题二:噪声的叠加与频域低通滤波器应用06课题三:顶帽变换在图像阴影校正方面的应用13课题四:利用Hough变换检测图像中的直线15课题五:图像的阈值分割操作及区域属性20课题六:基于MATLAB的GUI程序设计23结束语: 36参考文献: 37-第 37 页-基于MATLAB的数字图像处理课
2、题设计摘 要本文首先对数字图像处理的相关定义、概念、算法与常用变换进行了介绍;并通过七个课题实例,借助MATLAB的图像处理工具箱(Computer Vision System Toolbox)对这些案例逐一实现,包括图像的灰度值调整、图像噪声的叠加、频域低通滤波器、阈值分割、Hough变换等,常用的图像变化与处理;然后通过MATLAB的GUI程序设计,对部分功能进行模块化整合,设计出了数字图像处理的简易软件;最后给出了软件的帮助文件以及该简易程序的系统结构和m代码。关键词:灰度值调整 噪声 图像变换 MATLAB GUI设计课题一:图像的灰度级分辨率调整设计要求:将图像的灰度级分辨率调整至,
3、并在同一个figure窗口上将它们显示出来。设计思路:灰度级分辨率又称色阶,是指图像中可分辨的灰度级的数目,它与存储灰度级别所使用的数据类型有关。由于灰度级度量的是投射到传感器上的光辐射值的强度,所以灰度级分辨率又称为辐射计量分辨率。随着图像灰度级分辨率的的逐渐降低,图像中所包含的颜色数目将变得越来越少,从而在颜色维度造成图像信息量的退化。MATLAB提供了histeq函数用于图像灰度值的改变,调用格式如下:J = histeq(I,n)其中J为变换后的图像,I为输入图像,n为变换的灰度值。依次改变n的值为 128、64、32、16、8、4、2 就可以得到灰度值分辨率为128、64、32、16
4、、8、4、2的输出图像。利用MATLAB的subplot命令可以将不同灰度的图像放在同一个figure中方便对比。课题实现:该思路的MATLAB源代码如下:in_photo=imread(lena.bmp);%读入图片“lena.bmp”,位置在matlab当前工作区路径下D:TempProjectMatlabWorksfor i = 128,64,32,16,8,4,2 syms(out_photo,num2str(i); %利用for循环定义7个变量,作为不同灰度值分辨率的输出变量 eval(out_photo,num2str(i), =histeq(in_photo,i),;); %hi
5、steq函数用于改变图像灰度值,用eval函数给变量循环赋值end figure();set(figure(1),NumberTitle,off,Name,图像的灰度级调整) ;%设置figure名称subplot(2, 4, 1); imshow(in_photo,); title(Orginal);subplot(2, 4, 2); imshow(out_photo128,); title(Gray value 128);subplot(2, 4, 3);imshow(out_photo64,);title(Gray value 64);subplot(2, 4, 4);imshow(ou
6、t_photo32,);title(Gray value 32);subplot(2, 4, 5);imshow(out_photo16,);title(Gray value 16);subplot(2, 4, 6);imshow(out_photo8,);title(Gray value 8);subplot(2, 4, 7);imshow(out_photo4,);title(Gray value 4);subplot(2, 4, 8);imshow(out_photo2,);title(Gray value 2);%输出所有图形程序运行结果如下图:可以看出原图lena.bmp被转化为灰度
7、值分辨率不同的7个图像。课题二:噪声的叠加与频域低通滤波器应用设计要求:往图像中叠加不同类型的噪声,并设计一个频域低通滤波器来去除之。设计思路:一、 噪声叠加:首先需要在输入图片中叠加不同类型的噪声。MATLAB提供了imnoise函数用于在图像中加入噪声,调用格式如下:J = imnoise(I,type)J为叠加噪声后的图像,I为输入图像,type分为:gaussian(Gaussian white noise with constant mean and variance);localvar(Zero-mean Gaussian white noise with an intensity
8、-dependent variance);poisson(Poisson noise);salt & pepper(On and off pixels);speckle(Multiplicative noise).二、低通频域滤波器算法原理空间域滤波和频率域滤波的基础都是卷积定理,这说明两个空间函数的卷积可通过计算两个傅里叶变换函数的乘积的逆变换得到;相反地,两个空间函数的卷积的傅里叶变换恰好等于两个函数傅里叶变换的乘积。然而对于数字图像仅当f(x,y) 和h(x,y) 正确经过零填充后, 表达式才严格有效。故在进行傅里叶变换前需先进行填零操作。经过上述分析, 可得到傅里叶变换的基本步骤:(1
9、) 计算填充参数(2) 利用填充参数进行傅里叶变换(3) 根据type 生成传递函数H(x,y)(4) 传递函数与傅里叶变换相乘(5) 取G 的傅里叶逆变换实部常见的低通频域滤波器有三种,分别为:理想低通滤波器,n阶巴特沃茨低通滤波器和高斯低通滤波器。三、低通频域滤波器在 Matlab中的实现结合傅里叶变换基本步骤和函数 dftuv(M,N),在 Matlab中实现低通频域滤波器的代码如下:function g,F = lpfilter(f,type)%函数参数:彩色图像 f,低通滤波类型 type课题实现:代码分为三部分:1. 用来实现二维数组的meshgrid 表示的函数dftuv.m ;
10、2.低通滤波器lpfilter.m ;3.主函数/codebeginfunction U,Y = dftuv( X,N )%dftuv (M,N) 来实现二维数组的meshgrid 表示u=0:(X-1);w=0:(N-1);idx=find(uX/2);u(idx)=u(idx)-X;idy=find(wN/2);w(idy)=w(idy)-N;Y,U=meshgrid(w,u);endfunction g,F = lpfilter(f,type)%函数参数:彩色图像f,低通滤波类型type%函数返回值:低通模糊图像g,低通频率图像F%D0 取填充后图像宽度的5%当type 为ideal 时
11、,表理想低通滤波器%当type 为 btw 时,表n 阶巴特低通沃兹滤波器%当type 为 gaussian 时,表高斯低通滤波器f=im2double(f);PQ=2*(size(f);%DFT 之前补零F=fft2(f,PQ(1),PQ(2);%U,V=dftuv(PQ(1),PQ(2);D=sqrt(U.2+V.2); %采用欧氏距离D0=0.05*PQ(2);% 设定距离初值n=5;switch(type)case idealH=double(D max_len)max_len = lenxy_long = xyendend % highlight the longest line s
12、egmentplot(xy_long(:,1),xy_long(:,2),LineWidth,2,Color,blue); L1 Index1=max(Len(:)Len(Index1)=0L2 Index2=max(Len(:) x1=lines(Index1).point1(1) lines(Index1).point2(1)y1=lines(Index1).point1(2) lines(Index1).point2(2)x2=lines(Index2).point1(1) lines(Index2).point2(1)y2=lines(Index2).point1(2) lines(I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 课程设计 37
限制150内