电子科技大学-数字图像处理-课程设计.docx
文本预览下载声明
电子科技大学
数字图像处理课程设计
通信与信息工程学院通信工程课题名称
通信与信息工程学院
通信工程
院(系) 专 业
姓 名
学 号
起讫日期指导教师
2015 年 12 月 15 日
目 录
摘要: 03
课题一:图像的灰度级分辨率调整
04
课题二:噪声的叠加与频域低通滤波器应用
06
课题三:顶帽变换在图像阴影校正方面的应用
13
课题四:利用 Hough 变换检测图像中的直线
15
课题五:图像的阈值分割操作及区域属性
20
课题六:基于 MATLAB ?的 GUI 程序设计
23
结束语: 36
参考文献: 37
基于 MATLAB? 的数字图像处理课题设计
摘 要
本文首先对数字图像处理的相关定义、概念、算法与常用变换进行了介绍; 并通过七个课题实例,借助 MATLAB?的图像处理工具箱( Computer Vision System Toolbox )对这些案例逐一实现,包括图像的灰度值调整、图像噪声
的叠加、频域低通滤波器、阈值分割、 Hough 变换等,常用的图像变化与处理;
然后通过 MATLAB?的 GUI 程序设计,对部分功能进行模块化整合,设计出了数字图像处理的简易软件;最后给出了软件的帮助文件以及该简易程序的系统结 构和 m代码。
关键词: 灰度值调整 噪声 图像变换 MATLAB? GUI 设计
课题一:图像的灰度级分辨率调整
设计要求:
将图像的灰度级分辨率调整至 128,64,32,16,8,4,2 ,并在同一个 figure 窗口上将它们显示出来。
设计思路:
灰度级分辨率又称色阶,是指图像中可分辨的灰度级的数目,它与存储灰度级别所使用的数据类型有关。由于灰度级度量的是投射到传感器上的光辐射值的强度,所以灰度级分辨率又称为辐射计量分辨率。随着图像灰度级分辨率的的逐渐降低,图像中所包含的颜色数目将变得越来越少,从而在颜色维度造成图像信息量的退化。
MATLA?B提供了 histeq 函数用于图像灰度值的改变,调用格式如下:
J = histeq(I,n)
其中 J 为变换后的图像, I 为输入图像, n 为变换的灰度值。依次改变 n 的值为
128、64、32、16、8、4、2 就可以得到灰度值分辨率为 128、64、32、16、8、
4、2 的输出图像。利用 MATLA?B的 subplot 命令可以将不同灰度的图像放在同一个 figure 中方便对比。
课题实现:
该思路的 MATLA?B源代码如下:
in_photo=imread( lena.bmp );
%读入图片 “ lena.bmp ”,位置在 matlab 当前工作区路径下
D:\TempProject\Matlab\Works for i = [128,64,32,16,8,4,2]
syms([ out_photo ,num2str(i)]);
%利用 for 循环定义 7个变量,作为不同灰度值分辨率的输出变量
eval([ out_photo ,num2str(i), =histeq(in_photo,i) , ; ]);
%histeq 函数用于改变图像灰度值,用 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(out_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 个图像。
课题二:噪声的叠加与频域低通滤波器
显示全部