数字图像处理第一次作业
数字图像处理上机作业

数字图像处理上机作业数字图像处理上机实验题⼀、产⽣右图所⽰图像f1(m,n),其中图像⼤⼩为256×256,中间亮条为128×32,暗处=0,亮处=100。
对其进⾏FFT:1、屏显⽰原图f1(m,n)和FFT(f1)的幅度谱图;2、令f2(m,n)=(-1)^(m+n)*f1(m,n),重复以上过程,⽐较⼆者幅度谱的异同,简述理由;3、若将f2(m,n)顺时针旋转90 度得到f3(m,n),试显⽰FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进⾏⽐较;4、若将f1(m,n) 顺时针旋转90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显⽰FFT(f5) 的幅度谱,并指出其与FFT(f1)和FFT(f4)的关系;5、若令f6(m,n)=f2(m,n)+f3(m,n),试显⽰FFT(f6)的幅度谱,并指出其与FFT(f 2)和FFT(f3) 的关系,⽐较FFT(f6)和FFT(f5)的幅度谱。
代码f1=zeros(256,256);for i =64:1:191for j = 112:1:143f1(i,j) = 100;endendf2 = fft2(f1);%f2(m,n) = f3f3 = ((-1)^(i+j))*f1;f4 = fft2(f3);%f3(m,n) = f5f5 = imrotate(f3,90,'bilinear');f6 = fft2(f5);%f4(m,n) = f7f7 = imrotate(f1,90,'bilinear');f8 = fft2(f7);%f5(m,n) = f8f9 = f1 + f7;f10 = fft2 (f9);%f6(m,n) = f2(m,n)+f3(m,n)f11 = f3 + f5;subplot(1,2,1);imshow(abs(f1));title('原图f1');subplot(1,2,2);imshow(abs(f2));title('幅度谱fft2(f1)');figure(2)subplot(2,2,1)imshow(abs(f1));title('原图f1')subplot(2,2,2)imshow(abs(f2));title('幅度谱fft2(f1)'); subplot(2,2,3); imshow(abs(f3))title('变换谱f2');subplot(2,2,4);imshow(abs(f4));title('幅度谱fft2(f2)'); figure(3) subplot(2,2,1)imshow(abs(f3))title('变换谱f2');subplot(2,2,2);imshow(abs(f4));title('幅度谱fft2(f2)'); subplot(2,2,3); imshow(abs(f5))title('变换谱f3');subplot(2,2,4);imshow(abs(f6));title('幅度谱fft2(f3)'); figure(4) subplot(3,2,1);imshow(f7);title('f1旋转图f4'); subplot(3,2,2); imshow(abs(f8));title('幅度谱fft2(f4)'); subplot(3,2,3);title('f5(m,n)=f1+f4'); subplot(3,2,4); imshow(abs(f10));title('幅度谱fft2(f5)'); subplot(3,2,5) imshow(abs(f1));title('原图f1');subplot(3,2,6);imshow(abs(f2));title('幅度谱fft2(f1)');figure(5)subplot(3,2,1)imshow(abs(f3))title('变换谱f2');subplot(3,2,2);imshow(abs(f4));title('幅度谱fft2(f2)'); subplot(3,2,3); imshow(abs(f5))title('变换谱f3');subplot(3,2,4);imshow(abs(f6));title('幅度谱fft2(f3)'); subplot(3,2,5) imshow(abs(f11))title('变换谱f6=f2+f3'); subplot(3,2,6); imshow(abs(f12));title('幅度谱fft2(f6)');figure(6)subplot(2,2,1);imshow(f9);title('f5(m,n)=f1+f4'); subplot(2,2,2); imshow(abs(f10));title('幅度谱fft2(f5)'); subplot(2,2,3) imshow(abs(f11))title('变换谱f6(m,n)=f2+f3'); subplot(2,2,4); imshow(abs(f12));title('幅度谱fft2(f6)');分析2、F2(m,n)与F1(m,n)幅度值相同,f2(m,n)=(-1)^(m+n)*f1(m,n)中,并未改变幅值。
西安交大数字图像处理第一次作业

数字图像处理第一次作业姓名:班级:学号:提交日期:2015年3月13日摘要本次报告首先简单阐述了BMP图像格式及其相关数据结构,随后主要完成了作业要求中关于图像处理与计算的各项任务。
本次作业以Matlab 2014为平台,通过对lena.bmp,elain.bmp图像文件的编程处理,分别得到了lena.bmp图像的8到1级灰度逐级递减显示,lena.bmp图像的均值和方差,通过近邻、双线性和双三次插值法对lena.bmp进行4倍放大后得到的2048×2048尺寸图像,和对lena.bmp、elain.bmp图像分别进行水平偏移变换和旋转变换后的图像及其4倍插值放大图像。
以上任务完成后均得到了预期的结果。
1.Bmp图像格式简介。
1.1 BMP格式概述BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。
它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。
BMP文件的图像深度可选lbit、4bit、8bit及24bit。
BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。
1.2 BMP格式组成典型的BMP图像文件由四部分组成:(1)位图头文件数据结构,它包含BMP图像文件的类型、显示内容等信息;(2)位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;(3)调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板;(4)位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。
1.3 BMP格式对应数据结构BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。
1.3.1 BMP文件头(14字节)BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。
数字图像处理作业

1-1、结合每个人的本专业学科、工作应用,谈谈数字图像处理的关系或在本专业的应用?答:数字图像处理技术的应用几乎无处不在,例如有的U 盘和电脑安装了指纹识别系统,气象中心对云图变化的分析系统,上网视频聊天室的图像传输系统,计算机阅卷系统,车牌识别系统,邮编识别系统等等,都是实际工作和生活中对数字图像处理的应用。
1-2、除前面介绍的例子之外,试举一些其它的图像应用的工程例子。
答:在工程中的应用也很广泛,而且有十分大的发展前景,这里举两个例子:制烟厂里检查香烟数量的系统,有效的保证了没盒烟中香烟的数量,而且大大提高了效率;地下资源的勘测系统,可以对地下资源进行不同光谱分析,较为可观的得到地下资源信息。
1-3、图像处理与计算机图形学的区别与联系是什么?区别: 数字图像处理对客观存在的图像惊醒处理和分析,从而得到有用信息的学科。
计算机图形学:对客观存在的或想象中的事物通过建立数学模型,用图像的方式表达出来。
联系:都是用计算机进行点、面处理,使用光栅显示器等。
在图像处理中,需要用计算机图形学中的交互技术和手段输入图形、图像和控制相应的过程;在计算机图形学中,也经常采用图像处理操作来帮助合成模型的图像。
2-1、画出视觉信息在眼球内(视网膜中)的传输过程模型示意图,并扼要说明?如下图:瞳孔直径可调节,控制进入人眼内的光通量;而晶状体可调节曲率,改变焦距,使不同距离的图在视网膜上成像2-2、 画出黑白视觉扩展模型,并略加说明。
黑白视觉扩展模型:2-3 什么叫图像逼真度和图像可懂度?采用归一化方均误差NMSE 计算下面两幅数字图像的逼真度111111(,)111(,)101111111f j k f j k ∧⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦答:图像逼真度:描述被评价图像与标准图像的偏离程度图像可懂度:表示图像能向人或机器提供信息的能力由公式计算得NMSE=1/92-4 给出一幅4bit 的图像A (见下图)。
第一次作业

数字图像处理第一次作业学号:SB11009003 序号:姓名:黎小毛2.7 解:因为区域的反射率是1,可认为区域图像与光源强度一致,由光源的强度分布函数可知255≥I>0。
由于目前的图像可到256级灰度(256=28,即8位的灰度级),眼睛可以分辨8级灰度之间的差别(8=23,即3位的灰度级)。
对图像光强分成32等份(32=25,即k=5),每一等份内含眼睛分辨极限的8级灰度,可以导致眼睛可见的伪轮廓。
2.9 解:1024×1024像素、256级(8位)图像所占的位数为1024*1024*8比特,传输的数据总量和传输的图像数据比为10:8。
a)对56k的modem传输图像所需时间:t1=(1024*1024*8*10)/(56000*8)=187.2secb)对750k的DSL传输图像所需时间:t2=(1024*1024*8*10)/(750000*8)=14.0sec2.11 解:设图1中两像素为p、q,有p=q=1。
因为p不在q的4邻域内,所以S1和S2不是4邻接;因为p在q的8邻域内,所以S1和S2是8邻接;因为q在N D(p)中且N4(p)∩N4(q)没有V值像素,所以S1和S2是m 邻接。
S1 S20 0 0 0 0 0 1 10 0 1 0 0 1 0 00 0 1 0 q 1 0 00 1 1 p0 0 0 0图1 S1、S2的邻接2.15 解:(a) 当V={0,1}时,显然p、q之间不存在4邻接的通路。
p、q之间存在8邻接的通路,通路最短长度为4,通路路径见图2;p、q之间存在m邻接的通路,通路最短长度为5,通路路径见图3;3 1 2 1(q) 3 1 2 1(q)2 2 0 2 2 2 0 21 2 1 1 1 2 1 1(p)1 0 1 2 (p)1 0 1 2图2 p、q的8邻接通路图3 p、q的m邻接通路(b) 当V={1,2}时,显然p 、q 之间存在4邻接的通路、通路最短长度为6,存在三条路径见图4;p 、q 之间存在8邻接的通路,通路最短长度为4,存在两条路径见图5;p 、q 之间存在m 邻接的通路,通路最短长度为6,通路路径和4邻接的路径一样,见图4。
数字图像处理基础作业

1.图像均值化2.图像的Gauss低通和Gauss高通3.对图像进行Gamma变化4.DCT变换,加上量化在反量化,和IDCT这四个题目,如果是对一些进行图像处理的程序员来讲或者很简单,但是我基本不接触图像处理这个方面的(虽然我头上挂着这个牌子),基本原理不同,很难写程序。
不过幸好我同学是搞这个方面的,而且他的讲解能让我很快的知道我应该怎么去处理这个图像,而且通过网络的搜索,我发现wiki上的讲解真的相当的精准阿...不带让人纠结的数学公式,也不会长篇大论,有的就是通俗易懂的步骤和例子。
让人很快能知道我应该怎么都作就能完成这个效果的处理。
这是我一直很喜欢使用wiki的原因,推荐推荐阿....对于这个作业我本打算以最大的速度做完的,也不想真的去对原理进行真正的了解!所以只要知道怎么去做就可以了。
突然想到了那几天前我好像也学习QT,所以想连着这个一起作一次练习。
qt一个gui做的不错的库!而且简单的很...既然使用了QT那就要求我使用C++来写这个程序,C++这个语言,很久很久没使用了,主要是觉得自己对C++好像很陌生了,或者可以说是对面向对象这个思想的陌生。
关于这点,我也很想提出我的一点点想法。
虽然很早就开始使用面向对象去编程,可是好像自己一直没有入门面向对象这种思想。
使用C++的过程好像是将C++当成C来使用,很少很少说一定要使用到类,继承,多态这种特性。
看了很多书说,要学好C++就要放弃一些东西,把面向对象的这些东西学好。
可是面向对象到底是一种什么样的思想呢,有的时候很想用面向对象的思想去写程序,可是有时候却发现自己好像是为了面向对象而面向对象...好似纠结....应该是我经历的还不够吧。
关于这个作业,我最想讲的两个方面是:1.qt中的QImage这个对象,为了能让内存高效的访问,qt通过空间去换取时间的方法来提升效率。
让每一行都能被4B整除,这就是让qt本身会对每一行进行填充的过程,所以将一个一维的图像数据的转换为QImage是一个要小心的过程。
(完整版)数字图像处理每章课后题参考答案

数字图像处理每章课后题参考答案第一章和第二章作业:1.简述数字图像处理的研究内容。
2.什么是图像工程?根据抽象程度和研究方法等的不同,图像工程可分为哪几个层次?每个层次包含哪些研究内容?3.列举并简述常用表色系。
1.简述数字图像处理的研究内容?答:数字图像处理的主要研究内容,根据其主要的处理流程与处理目标大致可以分为图像信息的描述、图像信息的处理、图像信息的分析、图像信息的编码以及图像信息的显示等几个方面,将这几个方面展开,具体有以下的研究方向:1.图像数字化,2.图像增强,3.图像几何变换,4.图像恢复,5.图像重建,6.图像隐藏,7.图像变换,8.图像编码,9.图像识别与理解。
2.什么是图像工程?根据抽象程度和研究方法等的不同,图像工程可分为哪几个层次?每个层次包含哪些研究内容?答:图像工程是一门系统地研究各种图像理论、技术和应用的新的交叉科学。
根据抽象程度、研究方法、操作对象和数据量等的不同,图像工程可分为三个层次:图像处理、图像分析、图像理解。
图像处理着重强调在图像之间进行的变换。
比较狭义的图像处理主要满足对图像进行各种加工以改善图像的视觉效果。
图像处理主要在图像的像素级上进行处理,处理的数据量非常大。
图像分析则主要是对图像中感兴趣的目标进行检测和测量,以获得它们的客观信息从而建立对图像的描述。
图像分析处于中层,分割和特征提取把原来以像素描述的图像转变成比较简洁的非图形式描述。
图像理解的重点是进一步研究图像中各目标的性质和它们之间的相互联系,并得出对图像内容含义的理解以及对原来客观场景的解释,从而指导和规划行为。
图像理解主要描述高层的操作,基本上根据较抽象地描述进行解析、判断、决策,其处理过程与方法与人类的思维推理有许多相似之处。
第三章图像基本概念1.图像量化时,如果量化级比较小时会出现什么现象?为什么?答:当实际场景中存在如天空、白色墙面、人脸等灰度变化比较平缓的区域时,采用比较低的量化级数,则这类图像会在画面上产生伪轮廓(即原始场景中不存在的轮廓)。
《数字图像处理》课后作业2016【最新资料】

《数字图像处理》课后作业(2015)第2章2.5一个14mm⨯14mm的CCD摄像机成像芯片有2048⨯2048个像素,将它聚焦到相距0.5m远的一个方形平坦区域。
该摄像机每毫米能分辨多少线对?摄像机配备了一个35mm镜头。
(提示:成像处理模型见教材图2.3,但使用摄像机镜头的焦距替代眼睛的焦距。
)2.10高清电视(HDTV, High Definition TV )使用1080条水平电视线(TV Line)隔行扫描来产生图像(每隔一行在显像管表面画出一条水平线,每两场形成一帧,每场用时1/60秒,此种扫描方式称为1080i,即1080 interlace scan;对应的有1080p,即1080 progressive scan,逐行扫描)。
图像的宽高比是16:9。
水平电视线数(水平行数)决定了图像的垂直分辨率,即一幅图像从上到下由多少条水平线组成;相应的水平分辨率则定义为一幅图像从左到右由多少条垂直线组成,水平分辨率通常正比于图像的宽高比。
一家公司已经设计了一种图像获取系统,该系统由HDTV图像生成数字图像,彩色图像的每个像素都有24比特的灰度分辨率(红、绿、蓝分量各8比特)。
请计算不压缩时存储90分钟的一部HDTV电影所需要的存储容量。
2.22图像相减常用于在产品装配线上检测缺失的元件。
方法是事先存储一幅对应于正确装配的产品图像,称为“金”图像(“golden” image),即模板图像。
然后,在同类型产品的装配过程中,采集每一装配后的产品图像,从中减去上述模板图像。
理想情况下,如果产品装配正确,则两幅图像的差值应为零。
而对于缺失元件的产品,其图像与模板图像在缺失元件区域不同,两幅图像的差值在这些区域就不为零。
在实际应用中,您认为需要满足哪些条件这种方法才可行?第3章3.5在位平面分层中,(a)如果将低阶位平面的一半设为零值,对一幅图像的直方图大体上有何影响?(b)如果将高阶位平面的一半设为零值,对一幅图像的直方图又有何影响?3.6试解释为什么离散直方图均衡化技术一般不能得到平坦的输出直方图。
数字图像处理作业

数字图像处理作业数字图像处理是一门研究如何对数字图像进行处理、分析、识别等的学科,而数字图像的处理就是利用计算机对图像进行数字化处理。
这门学科对日常生活中各行各业有着广泛的应用,比如医学图像处理、遥感图像处理、安防监控、虚拟现实等。
数字图像处理是一个复杂的过程,需要多个步骤的协同完成。
本篇文档就是一次关于数字图像处理的作业,下面将对数字图像处理的主要步骤和注意事项进行详细介绍。
图像数字化图像数字化是指将样本图像点的亮度值和位置坐标转换为数字信号,从而对图像进行处理和传输。
在数字图像处理中,数字图像通常表示为二维矩阵,其中矩阵中的每个元素对应图像中的每个像素。
每个像素的值表示亮度或颜色信息。
前置处理图像的前置处理是指对图像进行预处理,以清除噪声、增强对比度等操作。
前置处理的主要流程包括滤波、分割、边缘检测、形态学处理等。
滤波滤波是对图像进行平滑或锐化处理的过程。
平滑滤波的作用是去除噪声,提高图像的质量;锐化滤波的作用是增强图像的轮廓特征。
分割图像分割是指将图像划分为多个有意义的区域,以便于后续的处理。
最常见的分割方法有基于阈值的方法、边缘检测方法和区域增长法等。
边缘检测边缘检测是指在图像中找到亮度或颜色变化的位置,以便于提取图像的特征。
常用的边缘检测算法有Sobel算子、Prewitt算子、Canny算子等。
形态学处理形态学处理是一种基于图像形状的图像处理方法,其主要作用是对图像进行形态学操作,如腐蚀、膨胀、开运算、闭运算等。
特征提取特征提取是指从处理过后的数字图像中提取有用的信息或特征。
常用的特征提取方法有局部二值模式、霍夫变换、支持向量机(SVM)等。
局部二值模式局部二值模式是一种基于像素点周围局部邻域像素值的特征提取方法,可以有效地提取图像的纹理特征和形状特征等。
霍夫变换霍夫变换是一种基于数学原理的特征提取方法,主要应用于直线、圆弧等图形的识别和提取。
其原理是将特征空间转化为参数空间,通过在参数空间中的投票来找到与特定模型最适配的特征。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理实验报告班级:自动化01姓名:李丹学号:10054003提交日期:2013.3.13摘要:本次作业通过对图像的灰度级数以及其像素的点运算,算术运算、几何变换等,学习了MATLAB在数字图像处理中的运用,更深的理解了数字图像处理的原理和方法。
第一题:Bmp图像格式简介答:Bmp是bitmap的缩写,即为位图图片。
位图图片是用一种称作“像素”的单位存贮图像信息的。
这些“像素”其实就是一些整齐排列的彩色(或黑白)点,如果这些点被慢慢放大,就会看到一个个的“像素”中添充着自己的颜色,这些“像素”整齐地排列起来,就成为了一幅BMP图片,并以.bmp等为扩展名。
由于BMP文件格式是Windows 环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
BMP可以分成两类:设备相关位图(DDB)和设备无关位图(DIB)。
典型的BMP图像文件由四部分组成:位图头文件数据结构(包含BMP图像文件的类型、显示内容等信息),位图信息数据结构(包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息),调色板(可选的)以及位图数据(根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值)。
它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。
BMP文件的图像深度可选lbit、4bit、8bit及24bit。
BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。
第二题:把lena.bmp 512*512图像灰度级逐级递减8-1显示答:1)问题分析:本题中对图像进行的操作是直接灰度变换。
2)具体 MATLAB 实现程序见附录 3)实验结果:4)结果分析:对一幅 512*512,256个灰度级的具有较多细节的图像,保持空间分辨率不变,仅将灰度级数依次递减为128、64、32、16、8、4、2,比较得到的结果就可以发现灰度级数对图像的影响。
前四张图灰度级数较高,图像基本看不出什么变化。
当灰度级数继续降低,则在灰度缓变区常会出现一些几乎看不出来的非常细的山脊状结构。
灰度级数越低,越不能将图像的细节刻画出来。
对比实验中处理过的图像,可以发现,虽然都是灰度图,但是灰度范围越大则图像显示出的色彩越丰富。
第三题:计算lena图像的均值方差1)问题分析:(1)使用 imhist 函数创建图像直方图。
imhist(I, n)计算和显示图像I的直方图,n为指定的灰度级数目,默认为256。
如果I是二值图像,那么n仅有两个值。
(2)使用 mean2 和 std2 函数计算图像矩阵中元素的均值和标准差2)具体 MATLAB 实现程序见附录3)运行结果:B =99.0512C =52.8776D =2.7960e+034)结果分析:进过 MATLAB 运算,得到图像 lena.bmp 的均值约为 99,标准差约为 52.9,方差是标准差的平方,约为 2796。
再通过对直方图的观察,我们可以看到,图像的灰度平均值确实分布在 100 左右,与MATLAB 计算的结果一致。
另外,方差越大,图像的对比度越大,可以显示的细节就越多,因此,lena.bmp 图像具有高对比度这个结论,也可以从图像具有的细节得到验证。
第四题:把lena图像用近邻、双线性和双三次插值法zoom到2048*20481)问题分析:插值算法是估计在图象像素间的某个位置的像素的取值方法。
(1)最近邻点插值法:在待插像素的周围四邻像素中,距离待求插像素最近的像素灰度赋给待插像素。
该方法最简单,但校正后存在灰度不连续性,图像有明显锯齿状。
(2)双线性插值算法:双线性插值算法输出的图像的每个像素都是原图中四个像素(2×2)运算的结果,这种算法极大地消除了锯齿现象。
(3)双三次插值算法:双三次插值算法是上一种算法的改进算法,它输出图像的每个像素都是原图16个像素(16×16)运算的结果。
这种算法是一种很常见的算法,普遍用在图像编辑软件、打印机驱动和数码相机上。
我们用MATLAB提供的imresize函数来进行插值,其调用格式为: B = imresize(A, [numrows numcols]) numrows和numcols分别指定目标图像的高度和宽度。
显而易见,由于这种格式允许图像缩放后长宽比例和源图像长宽比例不相同,因此所产生的图像有可能发生畸变。
[...] = imresize(..., method)method参数用于指定在改变图像尺寸时所使用的算法,可以为一下几种:'nearest':这个参数也是默认的,即改变图像尺寸时采用最近邻插值算法;'bilinear':采用双线性插值算法;'bicubic':采用双三次插值算法;2)具体 MATLAB 实现程序见附录3)运行结果:4)结果分析:最近邻插值、双线性插值与双三次差值这三种方法之间的区别主要在于点周围像素序列的取法不同。
对于最近邻插值,输出像素的值指定为点所属像素的值,不考虑其他像素;对于双线性插值,输出图像的值是最近的 2*2 邻域内像素值得加权平均值;对于双三次差值,输出图像的值是最近的 4*4 邻域内像素值得加权平均值。
所以,双线性插值法花费的时间比最近邻法的要长一些,而双三次法花费的时间比双线性法的又要长一些。
但是,参与计算的时间越多,计算结果越精确,通常双线性插值和双三次差值这两种方法比最近邻法得到的效果更好。
从得到的图像我们可以看到,最近邻内插产生了最大的锯齿边缘,尤其是在对应图像中的肩膀的边缘部位,产生了很明显的锯齿,而双线性内插得到了明显改进的结果使用双三次内插产生了稍微清晰一些的结果。
第五题:把lena和elain图像分别进行水平shear(参数可设置为1.5)和旋转30度,并采用用近邻、双线性和双三次插值法zoom到2048*20481)问题分析:(1)采用仿射变换来进行水平裁剪。
仿射变换是空间直角坐标变换的一种,它是一种二维坐标到二维坐标的线性变换,即用图像的矩阵去乘仿射变换的矩阵T,把图像上的像素重新定位到一个新位置,并为这些新位置赋灰度值,而这个任务可以用灰度内插的方法完成,选择最近邻内插法、双线性插值法和双三次插值法其中之一即可。
对于水平偏移变换,运算后,坐标变为x=v,y=shv+w。
在本题中,参数sv根据题中要求设为1.5。
对于旋转变换,运算后,坐标变为x=vcosθ−wsinθ,y=vsinθ+wcosθ。
在本题中,运用旋转函数,就不在程序中重新设置矩阵值了,而是函数根据参数自行设置矩阵T(2)使用 imrotate 函数旋转图像。
该函数接受两个主要的变量,即要旋转的图像和旋转的角度,旋转角度的单位为度。
如果指定一个正值,imrotate 函数按逆时针方向旋转函数;如果指定一个负值,imrotate 函数按顺时针方向旋转图像。
作为可选变量,还可以给 imrotate 函数指定产值方法和图像的大小。
函数默认使用最近邻插值法确定输出图像中的像素值,但也可以指定其他方法,例如:y2=imrotate(Y,angle,'crop');其中,angle为旋转角度(默认为逆时针),crop代表旋转后裁剪,即将旋转后的图像超出原图像大小范围的部分裁剪掉。
如果缺省则默认为不裁剪。
(3)使用 imtransform 函数完成一般的二维空间转换。
其语法格式如下:B=imtransform(A,TFORM,paraml,vall,param2,val2)。
该函数接受两个主要变量,既要变换的图像和 TFORM 空间变换结构。
创建一个TFORM 结构有两种方法,即使用makeform 函数和cp2tform 函数。
(4)使用 makeform 函数,可指定变换类型。
在本次实验中,指定的是仿射变换”affine”类型,即进行平移,旋转,比例,拉伸和错切等功能。
仿射变换要求变换矩阵的最后一列除最后一个元素为 1 之外,其它的均为 0。
2)具体 MATLAB 实现程序见附录3)运行结果:附录:1.参考文献[1] 杨杰:《数字图像处理及MATLAB实现——学习与实验指导》,北京,电子工业出版社,2010年版。
[2]冈萨雷斯:《数字图像处理(第三版)》,北京,电子工业出版社,2011年版。
[3] /s/blog_4af655c30100d7ed.html2.源代码:题目二:I=imread('lena.bmp');figure(1)A=imread('lena.bmp');imshow(A)[wide,height]=size(I);img128=zeros(wide,height);img64=zeros(wide,height);img32=zeros(wide,height);img16=zeros(wide,height);img8=zeros(wide,height);img4=zeros(wide,height);title('256 灰度级');for i=1:widefor j=1:heightimg128(i,j)=floor(I(i,j)/2);endendfigure(2)imshow(uint8(img128),[0,127])title('128 灰度级');for i=1:widefor j=1:heightimg64(i,j)=floor(I(i,j)/4);endendfigure(3)imshow(uint8(img64),[0,63])title('64 灰度级');for i=1:widefor j=1:heightimg32(i,j)=floor(I(i,j)/8);endendfigure(4)imshow(uint8(img32),[0,31])title('32 灰度级');for i=1:widefor j=1:heightimg16(i,j)=floor(I(i,j)/16);endendfigure(5)imshow(uint8(img16),[0,15])title('16 灰度级');for i=1:widefor j=1:heightimg8(i,j)=floor(I(i,j)/32);endendfigure(6)imshow(uint8(img8),[0,7])title('8 灰度级');for i=1:widefor j=1:heightimg4(i,j)=floor(I(i,j)/64);endendfigure(7)imshow(uint8(img4),[0,3])title('4 灰度级');for i=1:widefor j=1:heightimg2 (i,j)=floor(I(i,j)/128);endendfigure(8)imshow(uint8(img2),[0,1])title('2 灰度级');for i=1:widefor j=1:heightimg1 (i,j)=floor(I(i,j)/256);endEnd题目三:A=imread('lena.bmp');figure(1)imhist(A)title('lena.bmp 直方图');B=mean2(A)C=std2(A)D=C^2题目四:A=imread('lena.bmp');B1=imresize(A,[2048 2048],'nearest');figure(1)imshow(A);title('原始图像');figure(2)imshow(B1);title('最近邻插值法');B2=imresize(A,4,'bilinear');figure(3)imshow(B2);title('双线性插值法');B3=imresize(A,[2048 2048],'bicubic');figure(4);imshow(B3);title('双三次插值法');题目五:Lena图像:transformtype='affine';transformmatrix=[1 1.5 0;0 1 0;0 0 1];T=maketform(transformtype,transformmatrix); I=imread('lena.bmp');nI=imtransform(I,T);figure(1)imshow(I);title('原始图像');B1=imresize(nI,[2048 2048],'nearest');figure(2)imshow(B1);title('水平偏移最近邻内插');B2=imresize(nI,[2048 2048],'bilinear');figure(3);imshow(B2);title('水平变换双线性内插');B3=imresize(nI,[2048 2048],'bicubic');figure(4);imshow(B3);title('水平变换双三次内插');Elain图像:transformtype='affine';transformmatrix=[1 1.5 0;0 1 0;0 0 1];T=maketform(transformtype,transformmatrix); I=imread('elain.bmp');nI=imtransform(I,T);figure(1)imshow(I);title('原始图像');B1=imresize(nI,[2048 2048],'nearest');figure(2)imshow(B1);title('水平偏移最近邻内插');B2=imresize(nI,[2048 2048],'bilinear'); figure(3);imshow(B2);title('水平变换双线性内插');B3=imresize(nI,[2048 2048],'bicubic'); figure(4);imshow(B3);title('水平变换双三次内插');实验心得:通过本次大作业,我熟练掌握了对数字图像进行简单处理的基本方法,对于MATLAB的一些相关基本函数调运也有了基本的掌握。