数字图像处理课程设计

上传人:平*** 文档编号:15953183 上传时间:2017-11-06 格式:DOCX 页数:14 大小:1.26MB
返回 下载 相关 举报
数字图像处理课程设计_第1页
第1页 / 共14页
数字图像处理课程设计_第2页
第2页 / 共14页
数字图像处理课程设计_第3页
第3页 / 共14页
数字图像处理课程设计_第4页
第4页 / 共14页
数字图像处理课程设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

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

1、数字图像处理课程设计基于 Matlab 的数字图像处理图像的运算院系 信息技术学院 专业班级 电气 6 班 学号 201107111282 姓名 何英娜 指导教师 章瑞平 课程设计时间 2012 年 11 月 2目录一、摘要3二、 图像代数运算1、1 图像的加法运算41、2 图像的减法运算41、3 图像的除法运算41、4 绝对差值运算71、 5 图像的求补运算7三、图像的几何运算2、1 图像插值72、2 图像的旋转82、3 图像的缩放92、4 图像的投影变换102、4 图像的剪切11四、课程设计总结与体会13五、参考文献143摘要图像运算涵盖程序设计、图像点运算、代数运算、几何运算等多种运算;

2、设计目的和任务:1、熟悉图像点运算、代数运算、几何运算的基本定义和常见方法;2、掌握在 MTLAB 中对图像进行点运算、代数运算、几何运算的方法3、掌握在 MATLAB 中进行插值的方法4、运用 MATLAB 语言进行图像的插值缩放和插值旋转5、学会运用图像的投影变换和图像的剪切6、进一步熟悉了解 MATLAB 语言的应用,将数字图像处理更好的应用于实际7、通过各类算法加强图像各种属性、4一、 图像的几何运算何运算图像代数运算是指对两幅或两幅以上输入图像对应的像素逐个进行和差积商运算以产生增强效果的图像。图像运算是一种比较简单有效的增强处理手段是图像处理中常用方法。四种图像处理代数运算的数学表

3、达式如下:C(x,y)=A(x,y)+B(x,y)C(x,y)=A(x,y)-B(x,y)C(x,y)=A(x,y)*B(x,y)C(x,y)=A(x,y)/B(x,y)1 图像加法运算一般用于多幅图像求平均效果,以便有效降低具有叠加性的随机噪声,在 matlab 中 imadd 用于图像相加,其调用格式为z=imadd(X,Y);程序演示如下: I=imread(rice.png);subplot(2,2,1),imshow(I),title(原图像1);J=imread(cameraman.tif);subplot(2,2,2),imshow(J),title(原图像2);K=imadd(

4、I,J,uint16);subplot(2,2,3),imshow(K,),title(相加后图像);52、图像减法运算也称差分运算,是用于检测图像变化及运动物体的方法;用 imsubtract 函数实现。图像乘法运算可以实现掩膜操作,已屏蔽图像某些部分,乘以常数被称为缩放,以显示不同明暗效果,应用函数为immultiply。图像除法运算也成比例变换,运用函数 imdivide,一般对图像进行归一化处理;再进行乘除操作时一般使用 double 类型进行运算,immultiply(X,Y)可将对应像素值分别进行相乘,该函数可对每个像素值进行平方处理,为非线性操作,可使高亮度区对比度进一步增强,低

5、亮度区对比度进一步减弱;程序演示 1:图像加减乘除运算I = imread(moon.tif);J=imadd(I, 50);subplot(1,5,1), imshow(I);title(原图像);subplot(1,5,2), imshow(J);title(加法运算后图像);J1=imsubtract(I, 50);subplot(153),imshow(J1);title(减法运算图像);J2= immultiply(I,2);subplot(154),imshow(J2);title(乘法运算图像);J3= imdivide(I,2);subplot(155),imshow(J3),

6、title(除法运算图像)图片效果:直方图操作能有效地用于图像增强。除了提供有用的图像统计资料外,直方图固有的信息在其他图像处理应用中也是非常有用的,直方图是图像的最基本的统计特征,它反映的是图像的灰度值的分布情况。直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。灰度直方图是图像预处理中涉及最广泛的基本概念之一。图像的直方图事实上就是图像的亮度分布的概率密度函数,是一幅图像的所有象素集合的最基本的统计规律。直方图反映了图像的明暗分布规律,可以通过图像变换进行直方图调整,获得较好的视觉效果6程序演示2:X=imread(pout.ti

7、f);X=im2double(X);Z=immultiply(X,X);imshow(X),title(原始图像),figure,imhist(X),title(原始图像灰度直方图);figure,imshow(Z),title(平方后图像),figure,imhist(Z),title(平方后图像灰度直方图)图片演示效果图如下,可以明显看出亮度区域被展开,暗区域被进一步压缩。73、图像绝对差值运算运用函数imabsdiff实现两幅图像的绝对差值运算,图像的类型应该相同,即把相同类型相同长度的数组的对应位分别做减法,返回结果是每一位差的绝对值,即返回类型相同;图像求补运算运用函数imcompl

8、ement,适用于各种图像格式,取补操作是对每个像素值都取补,即用像素类型最大值减去像素值,得到最终结果,用于将目标与背景调换和对相片底片图像进行取补操作可得到真实景象。程序演示如下:I=imread(cameraman.tif);subplot(131),imshow(I),title(原图像);J=uint8(filter2(fspecial(gaussian),I);K=imabsdiff(I,J);subplot(132),imshow(K,),title(绝对差值后图像);L=imcomplement(I);subplot(133),imshow(L),title(图像求反后)图片效

9、果:二、 图像几何运算几何运算可改变图像中各物体之间的空间关系。这种运算可以被看成是将(各)物体在图像内移动。一个几何运算需要两个独立的算法。首先,需要一个算法来定义空间变换本身,用它来描述每个像素如何从其初始位置“移动”到终止位置,即每个像素的“运动” 。同时,还需要一个用于灰度插值的算法,这是因为,在一般情况下,输入图像的位置坐标(x,y)为整数,而输出图像的位置坐标为非整数,反过来也如此。因此插值就是对变换之后的整数坐标位置的像素值进行估计。 1图像插值,matlab提供了三种差值方法:1最邻近差值是最简便的插值,在这种算法中,每一个插值输出像素的值就是在输入图像中与其最临近的采样点的值

10、。最近邻插值是工具箱函数默认使用的插值方法f(x)=f(x k)1/2(x k-1+xk)8x1/2(xk+xk+1)2双线性插值,的输出像素值是它在输入图像中22领域采样点的平均值,它根据某像素周围4个像素的灰度值在水平和垂直两个方向上对其插值。3双三次差值,核为三次函数,其插值邻域的大小为44。它的插值效果比较好,但相应的计算量也比较大。 图像噪声按噪声和信号之间关系分为乘性噪声和加性,按其与图像之间的相关性分为无关噪声和相关噪声;为图像添加噪声函数调用为J=imoise(I,type,parameters)程序演示:I=imread(saturn.png);subplot(131),im

11、show(I),title(原图像);A=imnoise(I,gaussian,0,0.02);subplot(132),imshow(A),title(加高斯噪声后图像);B=imnoise(I,speckle,0.02);subplot(133),imshow(B),title(加乘性噪声后图像);图片效果: 图像的旋转在工具箱中的函数imrotate可用上述三种方法对图像进行插值旋转,默认的插值方法也是最邻近插值法,数字图像进行旋转时,各像素坐标将会发生变化,使得旋转之后不能正好落于整数坐标处,因此需进行差值。Imrotate的语法格式为:B = imrotate(A,angle,met

12、hod)函数imrotate对图像进行旋转,参数method用于指定插值的9方法, ,可选用的值为nearest(最邻近法) ,bilinear(双线性插值) ,bicubic(双三次插值) ,默认为nearest。一般说来旋转后的图像会比原图大分别用不同插值旋转程序演示如下:I=imread(cameraman.tif);J1=imrotate(I,-45,bicubic);J2=imrotate(I,45,bilinear,crop);J3=imrotate(I,45,loose);figure,subplot(221),imshow(I),title(原图像);subplot(222),

13、imshow(J1),title(顺旋转1);subplot(223),imshow(J2),title(逆旋转1);subplot(224),imshow(J3),title(逆旋转2)图片效果: 图像的缩放函数调用B = imresize(A,m,method)这里参数method用于指定插值的方法,可选用的值为nearest(最邻近法) ,bilinear(双线性插值) ,bicubic(双三次插值) ,默认为nearest,通过不同放大缩10小会改变图片的清晰度。程序演示如下:I=imread(kids.tif);m,n=size(I);J1=imresize(I,0.2);J2=im

14、resize(I,5,nearest);J3=imresize(I,8*m 8*n,bilinear);figure, imshow(I),title();,imshow(J1);,imshow(J2);,imshow(J3)图片效果: 图像的投影变换投影变换是将图像像素点的坐标变换成另一种像素点的坐标的过程,其调用函数为maketform,imtransform,程序演示:11J=imread(lena1.tiff);T=maketform(affine,.5 0 0;.5 2 0;0 0 1);I1=imtransform(J,T);I2=size(J);I3=zeros(I2(1)*2,

15、I2(2)*0.5+I2(2)*0.5);for i=1:I2(1)for j=1:I2(2)I3(2*i,uint8(i*0.5+j*0.5)=J(i,j);endendI3=uint8(I3);subplot(131);imshow(J);title(原图像)subplot(132);imshow(I1);title(结构变换后图像);subplot(133);imshow(I3);title(空间变换后图像)图片显示效果: 图像的裁剪对于要处理图像,有时只关心一部分图像,所以需对整个图像进行处理,matlab中imcrop函数对图像进行剪切处理,可以大大提高处理效率。12程序演示如下:I=imread(circuit.tif);I2 = imcrop(I,75 68 130 112);figure,imshow(I);ti

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

当前位置:首页 > 中学教育 > 试题/考题

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