您的当前位置:首页时立明

时立明

2021-05-05 来源:乌哈旅游


SY-023

实 验 报 告

课程名称: 数字图象处理

系部名称: 测绘工程学院 专业班级: 测绘10-6 学生姓名: 时立明 学 号: 20107009 指导教师: 张玉娟

黑龙江工程学院教务处制

实验项目 实验地点 601 图象的代数运算 同组人数 1 实验日期 实验台号 11月19日 √ 现代实验 □ 其 他 □ 传统实验 □实验类型 √ 验证性 □ 综合性 □ 设计性 □ 其 他 □√ 自立式 □ 合作式 □ 研究式 □ 其 他 □一、实验目的 1、了解图像的算术运算在数字图像处理中的初步应用。 2、体会图像算术运算处理的过程和处理前后图像的变化。 二、实验仪器设备 计算机 MatLab软件 三、实验原理 图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。如果输入图像为A(x,y)和B(x,y),输出图像为C(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) C(x,y) = A(x,y) / B(x,y) 图像的代数运算在图像处理中有着广泛的应用,它除了可以实现自身所需的算术操作,还能为许多复杂的图像处理提供准备。例如,图像减法就可以用来检测同一场景或物体生产的两幅或多幅图像的误差。 使用MATLAB的基本算术符(+、-、*、/ 等)可以执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型。为了更方便地对图像进行操作,MATLAB图像处理工具箱包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。下表列举了所有图像处理工具箱中的图像代数运算函数。 图像处理工具箱中的代数运算函数 函数名 Imabsdiff Imadd Imcomplement Imdivide Imlincomb Immultiply imsubtract 功能描述 两幅图像的绝对差值 两幅图像的加法 补足一幅图像 两幅图像的除法 计算两幅图像的线性组合 两幅图像的乘法 两幅图像的减法 使用图像处理工具箱中的图像代数运算函数无需再进行数据类型间的转换,这些函数能够接受uint8和uint16数据,并返回相同格式的图像结果。虽然在函数执行过程中元素是以双精度进行计算的,但是MATLAB工作平台并不会将图像转换为双精度类型。 代数运算的结果很容易超出数据类型允许的范围。例如,uint8数据能够存储的最大数值是255,各种代数运算尤其是乘法运算的结果很容易超过这个数值,有时代数操作(主要是除法运算)也会产生不能用整数描述的分数结果。图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。例如,如果数据类型是uint8,那么大于255的结果 (包括无穷大inf)将被设置为255。 注意:无论进行哪一种代数运算都要保证两幅输入图像的大小相等,且类型相同。 四、实验内容或步骤 1、图像的加法运算 1) I = imread('e:\\2.jpg'); J = imread('e:\\2.jpg'); K = imadd(I,J); subplot(2,2,1) imshow(I); title('原图象2') subplot(2,2,2) imshow(J); title('原图象3') subplot(2,2,4) imshow(K); title('处理后的图象') 2) RGB = imread('e:\\2.jpg'); 原图象2原图象3处理后的图象(图像的加法运算①) RGB2 = imadd(RGB,70); subplot(1,2,1);imshow(RGB); title('原图象') subplot(1,2,2);imshow(RGB2); title('加上70个灰度之后输出') 原图象 ((图像的加法运算②)) 2、图像的减法运算 1) rice = imread('e:\\2.jpg'); rice1=imnoise(rice,'gauss',0.02); rice2 = imsubtract(rice, rice1); subplot(1,2,1);imshow(rice); title('原图象') subplot(1,2,2);imshow(rice2); title('从原始图像中将背景亮度图像减去') 原图象从原始图像中将背景亮度图像减去 (图像的减法运算①) 2) I =imread('e:\\2.jpg'); J = imadd(I,90); Z1 = imsubtract(I,30); Z2 = imabsdiff(I,J); subplot(2,2,1);imshow(I); title('原图象I') subplot(2,2,2);imshow(J); 加上70个灰度之后输出title('原图象J') subplot(2,2,3);imshow(Z1); title('原图像减I去30个灰度值后按大于等于0的灰度值输出') subplot(2,2,4);imshow(Z2); title('原图像I减去J个灰度值并进行绝对值处理') 原图象I原图象J 原图像减I去30个灰度值后按大于等于0的灰度值输出原图像I减去J个灰度值并进行绝对值处理 (图像的减法运算②) 3、 图像的乘法运算 I = imread('e:\\2.jpg'); J = immultiply(I,1.3); K = immultiply(I,0.3); subplot(2,2,1);imshow(I);title('原图象') subplot(2,2,2);imshow(J);title('按1.3缩放因子对图像进行放大') subplot(2,2,4);imshow(K);title('按0.3缩放因子对图像进行缩小') 原图象按1.3缩放因子对图像进行放大 原图像减I去30个灰度值后按大于等于0的灰度值输出按0.3缩放因子对图像进行缩小 (图像的乘法法运算) 4、图像的除法运算 RICE =imread('e:\\2.jpg'); I = double(RICE); J= I * 0.02 ; RICE2 = uint8(J); Ip = imdivide(RICE, RICE2); subplot(1,2,1);imshow(RICE); title('原图象') subplot(1,2,2);imshow(Ip, []); title('图像相除后效果图') 原图象图像相除后效果图(图像的乘法法运算) 七、实验中存在的问题、解决方法及进一步的想法等 通过多次的上机实习,我们已经将matlap软件的基本操作 掌握。已经熟悉了它的使用流程。实习的综合性训练,使我们认识到了课堂上学习知识的不完整性,欠缺性和不系统性。 通过专业理论知识与实践知识的相结合,开阔了我们的视野,增进了我们对自己所学专业的认识,为我们毕业走向工作岗位奠定了基础。 同时也发现了自己在实践能力方面的匮乏,今后应该刻苦学习专业知识,这样才会在未来的生活工作中得心应手,应对自如。 八、教师评语 成 绩 指导教师签字: 年 月 日 注:1、此报告为参考格式,各栏项目可根据实际情况进行调整;

2、“实验仪器设备”一栏:设计性实验根据实验条件对实验仪器设备提出具体要求; 3、“实验内容或步骤”一栏:设计性实验需填写设计方案。

因篇幅问题不能全部显示,请点此查看更多更全内容