系统实验(DSP)--图像的锐化处理、图像的边缘检测

合集下载

dsp原理与应用实验报告总结

dsp原理与应用实验报告总结

dsp原理与应用实验报告总结DSP(Digital Signal Processing)数字信号处理是利用数字技术对信号进行处理和分析的一种方法。

在本次实验中,我们探索了DSP的原理和应用,并进行了一系列实验以验证其在实际应用中的效果。

以下是对实验结果的总结与分析。

实验一:数字滤波器设计与性能测试在本实验中,我们设计了数字滤波器,并通过性能测试来评估其滤波效果。

通过对不同类型的滤波器进行设计和实现,我们了解到数字滤波器在信号处理中的重要性和应用。

实验二:数字信号调制与解调本实验旨在通过数字信号调制与解调的过程,了解数字信号的传输原理与方法。

通过模拟调制与解调过程,我们成功实现了数字信号的传输与还原,验证了调制与解调的可行性。

实验三:数字信号的傅里叶变换与频谱分析傅里叶变换是一种重要的信号分析方法,可以将信号从时域转换到频域,揭示信号的频谱特性。

本实验中,我们学习了傅里叶变换的原理,并通过实验掌握了频谱分析的方法与技巧。

实验四:数字信号的陷波滤波与去噪处理陷波滤波是一种常用的去除特定频率噪声的方法,本实验中我们学习了数字信号的陷波滤波原理,并通过实验验证了其在去噪处理中的有效性。

实验五:DSP在音频处理中的应用音频处理是DSP的一个重要应用领域,本实验中我们探索了DSP在音频处理中的应用。

通过实验,我们成功实现了音频信号的降噪、均衡和混响处理,并对其效果进行了评估。

实验六:DSP在图像处理中的应用图像处理是另一个重要的DSP应用领域,本实验中我们了解了DSP在图像处理中的一些基本原理和方法。

通过实验,我们实现了图像的滤波、边缘检测和图像增强等处理,并观察到了不同算法对图像质量的影响。

通过以上一系列实验,我们深入了解了DSP的原理与应用,并对不同领域下的信号处理方法有了更深刻的认识。

本次实验不仅加深了我们对数字信号处理的理解,也为日后在相关领域的研究与实践提供了基础。

通过实验的结果和总结,我们可以得出结论:DSP作为一种数字信号处理的方法,具有广泛的应用前景和重要的实际意义。

数字图像处理实验报告(图像边缘检测)

数字图像处理实验报告(图像边缘检测)

实验报告实验名称实验三图像边缘检测课程名称数字图像处理某成绩班级学号日期地点备注:1、实验目的(1)了解并掌握使用微分算子进行图像边缘检测的基本原理;(2)编写程序使用Laplacian 算子(二阶导数算子)实现图像锐化,进一步理解图像锐化的实质;(3)掌握使用不同梯度算子(一阶导数算子)进行图像边缘检测的原理、方法,根据实验结果分析各种算子的工作效果;(4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。

2、实验环境(1)Windows XP/7(2)Matlab 7.1/7.143、实验方法本次实验要求对256×256大小,256级灰度的数字图像lena.img进行处理。

(1)对该图像进行锐化处理,要求采用Laplacian算子进行锐化,分α=1和α=2两种情况,按如下不同情况进行处理:①g1(m,n)=f(m,n)-α∇f②g2(m,n)=4αf(m,n)-α[f(m-1,n)+f(m+1,n)+f(m,n-1)+f(m,n+1)]I、要对图像进行处理,要先读取该图像,实验代码如下:close all;clear all;fid=fopen('lena.img','r');image=fread(fid,[256,256],'uint8');fclose(fid);II、读取图像后,对该图像的每一像素(不考虑图像的边界部分)进行遍历,根据公式①(公式①相当于做差分)对每一灰度进行计算,将所得的结果存入一矩阵g1中(矩阵g1初始化为该图像的矩阵),代码如下(仅以ɑ=1为例):g1=image;a=1;[x,y]=size(image);for i=2:(x-1)for j=2:(y-1) g1(i,j)=(1+4*a)*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));endendIII、根据公式②对图像的每一个像素(不考虑图像的边界部分)进行计算,将所得之存入矩阵g2中(g2初始化值为该图像的矩阵值),具体方法与上一步类似,代码如下(仅以ɑ=1为例):g2=image;a=1;[x,y]=size(image);for i=2:(x-1)for j=2:(y-1)g2(i,j)=4*a*image(i,j)-a*(image(i+1,j)+image(i-1,j)+image(i,j+1)+image(i,j-1));endend(2)分别利用Roberts、Prewitt 和Sobel 边缘检测算子,对原图像进行边缘检测,显示处理前、后图像。

第6章 图像的锐化处理与边缘检测

第6章 图像的锐化处理与边缘检测

0 1 0 H 3 1 5 1 0 1 0
1 1 1 H 4 1 9 1 1 1 1
39
1 1 1 H4 1 9 1 1 1 1
0 1 0 H3 1 5 1 0 1 0
1 0 1 H 2 0 2 1 0 1
12
垂直方向的一阶锐化 —— 例题
1 0 1 H 2 0 2 1 0 1
1 2 3 2
1*1+2*2+1*3-1*3-2*2-1*8=-7
1
0 0 0 0 0
0 -7 -16 -17 0
41
Wallis微分算子可以看作是校正了视觉的指 数特性后的Laplacian运算。 与拉普拉斯算子处理效果相比,拉普拉斯算 子对画面比较暗的部分的锐化比较弱,而 Wallis算子则不存在这个问题,整个画面的 锐化效果比较均衡。 Wallis算子对弱信息比拉普拉斯算子更敏感。
42
Wallis算子锐化结果
方法1:整体加一个正整数,以保证所有的像 素值均为正。 这样做的结果是:可以获得类似浮雕的效果。
0 0 0 0 0 -3 -6 1 0 -13 -13 12 0 -20 -13 5 0 0 0 0 20 20 20 20 17 14 20 7 7 20 0 7 20 20 20
20
20
21
20
32
20
图6. 2 图像细节的微分特性
6
图6.3给出几种典型灰度变化模式及其相应的微分变 化模式。 可见无论那种形式,通过一阶微分或者是二阶微分 都可以进行图像细节的增强与检测。
图6. 3 典型的灰度变化模式与其微分变化模式

图像锐化和边缘检测

图像锐化和边缘检测

图像锐化和边缘检测本文容构成:1、图像锐化和边缘检测的基本概念,微分梯度已经差分的定义2、锐化和边缘检测的像素处理方式(3种)3、单方向一阶微分锐化,包括:水平方向垂直方向Kirsch算子4、无方向微分锐化,包括:Roberts算子Sobel算子Prewitt算子Laplacian算子(二阶微分)LOG算子(二阶微分5、二阶微分6、实验结果对比在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。

一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。

这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。

为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。

图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。

微分运算是求信号的变化率,由傅立叶变换的微分性质可知,微分运算具有较强高频分量作用。

从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。

但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。

图像锐化的方法分为高通滤波和空域微分法。

图像的边缘或线条的细节(边缘)部分与图像频谱的高频分量相对应,因此采用高通滤波让高频分量顺利通过,并适当抑制中低频分量,是图像的细节变得清楚,实现图像的锐化,由于高通滤波我们在前面频域滤波已经讲过,所以这里主要讲空域的方法——微分法。

一阶微分运算一阶微分主要指梯度模运算,图像的梯度模值包含了边界及细节信息。

梯度模算子用于计算梯度模值,通常认为它是边界提取算子,具有极值性、位移不变性和旋转不变性。

系统实验(DSP)--图像的锐化处理、图像的边缘检测

系统实验(DSP)--图像的锐化处理、图像的边缘检测

系统实验(DSP)--图像的锐化处理、图像的边缘检测DSP 实验报告一、 图像的锐化处理(高通滤波处理)1、 实验原理处理模板如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--+--=004100αααααM 25.0=α对应数学表达式:()[])1,(),1()1,(),1(),(41),(++++-+--+=y x f y x f y x f y x f y x f y x g αα2、 C 程序及运行结果程序:Acute_RGB_Image(int *buffer){int x,y;for (y=0;y<ImageHeight;y++)for (x=0;x<ImageWidth;x++){buffer[y*ImageWidth+x]=2*buffer[y*ImageWidth+x]-(buffer[y*ImageWidth+x-1]+buffer[(y-1)*ImageWidth+x]+buffer[y*ImageWidth+x+1]+buffer[(y+1)*ImageWidth+x])/4;if(buffer[ImageWidth*y+x]>255)buffer[ImageWidth*y+x]=255;else if (buffer[ImageWidth*y+x]<0)buffer[ImageWidth*y+x]=0;}}运行结果:锐化前锐化后分析:从上面两幅图可以看出锐化后的图像轮廓变得明显,且噪声变得强烈。

3、汇编程序及运行结果程序:ImageAcuteSub(ImageWidth,ImageHeight,buffer_red);ImageAcuteSub(ImageWidth,ImageHeight,buffer_green);ImageAcuteSub(ImageWidth,ImageHeight,buffer_blue);.mmregs.def _ImageAcuteSub.text_ImageAcuteSub:mov t0,brc1 ;IMAGE WIDTHmov t1,brc0 ;IMAGE HEIGHTrptb y_looprptb x_loopmov *ar0(#1),ac1;f(x+1,y)add *ar0(#-1),ac1 ;f(x-1,y)add *ar0(#-250),ac1 ;f(x,y-1)add *ar0(#250),ac1 ;f(x,y+1)sfts ac1,#-2mov *ar0<<#1,ac0;2f(x,y)sub ac1,ac0bcc branch1,ac0<0sub #255,ac0,ac1bcc branch2,ac1>0mov ac0,*ar0+b x_loopbranch1: mov #0,*ar0+b x_loopbranch2: mov #255,*ar0+ x_loop: nopy_loop: nopRET运行结果:锐化前 锐化后分析:可以看出汇编的结果和C 程序的结果是一致的。

[整理]图像锐化和边缘提取

[整理]图像锐化和边缘提取

字图像处理》实验报告2012年安徽省普通高校对口招收中等职业学校毕业考试语文试题(本卷满分150分,时间120分钟)一.语言文学知识与语言表达(共11小题,每小题3分,计33分)1.下列句子中加点字的注音,正确的一项是( )A.殷(yān)红的鲜血滴落在泥土上。

B.她梦想到盛(shèng)在名贵盘碟里的佳肴。

C.第二步工作叫掐丝,就是拿扁铜丝粘(nián)在铜胎表面上。

D.仿佛远处高楼上渺茫的歌声似(sì)的。

2.下列句子没有错别字的一项是( )A.得知我还必需回渡假村,她楞住了。

B.住宅的寒伧,墙壁的暗淡,家俱的破旧,衣料的粗陋,都使她苦恼。

C.归来时带着几份鹊跃的心情,一跳一跳就跳过了那些山坡。

D.丈夫从实验室回来时,孩子们已经做完功课睡觉了。

3.对下列词语中加点字的解释,不正确的一项是( )A.累世(累:连续)勤能补拙(拙:笨)B.睿智(睿:锋利)越俎代庖(庖:厨房)C.绵亘(亘:延续不断)扪心自问(扪:摸)D.自诩(诩:夸耀)自惭形秽(秽:丑陋)4.下列句子成语使用恰当的一项是( )A.贵族老爸们养尊处优的生活场所已消失得杳无音信。

B.过去有些园名,可以望文生义,如梅园,它的特色是梅。

C.在孩子们的眼神里,我看到了他们的心悦诚服。

D.赚钱是每一个生意人众望所归的事。

5.下列句子没有语病的一项是( )A.人脑是一部最奇妙的机器,但它能和平结合,使人成为万物之灵。

B.好的立意,来源于作者对社会生活的用心提炼、体验、思考和观察。

C.母亲在非解释一下不足以平服别人的时候才这样说。

D.人物的塑造,要经过摊牌打磨的过程,才能创造出鲜活的形象。

6.将下列句子组成语意连贯的一段文字,排序正确的一项是( )①当时我很年轻,而且正是不动扳机就感到手痒的时期。

②我察觉到,在这双眼睛里有某种新的东西,某种只有它和这座山才了解的东西。

③我总是认为,狼越少,鹿就越多,因此,没有狼的地方就意味着是猎人的天堂。

DSP技术实验报告-实验4边缘检测

DSP技术实验报告-实验4边缘检测

电子科技大学电子工程学院标准实验报告(实验)课程名称 DSP技术实验题目边缘检测电子科技大学实验报告实验地点:KB453 实验时间:11月2日实验室名称: DSP技术实验室实验项目名称:边缘检测实验1.实验目的1)进一步掌握AZURE-BF609开发平台的使用;2)进一步掌握CCES调试方法;3)了解BF609 DSP在图像、视频处理领域的应用;4)了解边缘检测方法及意义;5)掌握利用PVP进行边缘检测的方法。

2.实验内容1)加载PGM格式的原始图片;2)在液晶屏幕上显示原始图片;3)对原始图片进行边缘检测处理;4)将边缘检测的结果在液晶屏幕上显示;5)将边缘检测的结果以PGM格式保存到文件;3.实验报告要求1)完成实验步骤中所要求的所有实验结果的记录,需要的记录均加粗标注。

2)分别列给出一阶导数检测模式和二阶导数检测模式的PVP模块连接图。

3)记录在两种模式下各个不同参数的检测结果。

4)总结:可以包括实验过程中出现的问题、实验内容以及实验还可以进一步改进的地方等;5)根据上述要求完成标准实验报告的撰写。

4.实验结果4.1 实验结果1)原始图片:c//下面粘贴图片2)一阶导数边缘检测检测原理:oThresholds={50,100,0,0 }oThresholds={100,200,0,0 } //下面粘贴图片oThresholds={200,400,0,0 } //下面粘贴图片oThresholds={1200,1400,0,0 } //下面粘贴图片3)二阶导数边缘检测检测原理:oThresholds={0,0,1,2 }oThresholds={0,0,3,4 }oThresholds={0,0,5,6 }oThresholds={0,0,7,8 }反色后的结果:叠加到原始图像:4.2 实验中增加或修改的源程序边缘提取代码(边缘用白色表示):int i;#ifdef PEC_FIRST_DERIVIATIVEfor(i=0;i<FRAME_HEIGHT;i++){for(j=0;j<FRAME_WIDTH;j++){if((PECOutBuf[i*FRAME_WIDTH+j]&0X7)>=PEC_EDGE_BITS)PECOutBuf[i*FRAME_WIDTH+j] = 0XFF;elsePECOutBuf[i*FRAME_WIDTH+j] = 0X0;}}#elsefor(i=0;i<FRAME_HEIGHT;i++){for(j=0;j<FRAME_WIDTH;j++){if((PECOutBuf[i*FRAME_WIDTH+j]&0XF)!=0 )PECOutBuf[i*FRAME_WIDTH+j] = 0XFF;elsePECOutBuf[i*FRAME_WIDTH+j] = 0X00;}}#endif}边缘提取代码(边缘用黑色表示):int i;#ifdef PEC_FIRST_DERIVIATIVEfor(i=0;i<FRAME_HEIGHT;i++){for(j=0;j<FRAME_WIDTH;j++){if((PECOutBuf[i*FRAME_WIDTH+j]&0X7)>=PEC_EDGE_BITS)PECOutBuf[i*FRAME_WIDTH+j] = 0X0;elsePECOutBuf[i*FRAME_WIDTH+j] = 0XFF;}}#elsefor(i=0;i<FRAME_HEIGHT;i++){for(j=0;j<FRAME_WIDTH;j++){if((PECOutBuf[i*FRAME_WIDTH+j]&0XF)!=0 )PECOutBuf[i*FRAME_WIDTH+j] = 0X0;elsePECOutBuf[i*FRAME_WIDTH+j] = 0XFF;}}#endif将黑色边缘叠加到淡化的原始图像的代码://代码•for(i=0;i<FRAME_HEIGHT;i++)•{• for(j=0;j<FRAME_WIDTH;j++)• {• if((PECOutBuf[i*FRAME_WIDTH+j]&0X7)>=PEC_EDGE_BITS)• PECOutBuf[i*FRAME_WIDTH+j] = 0XFF;• else• PECOutBuf[i*FRAME_WIDTH+j] = 0X0;• }•}•for(i=0;i<FRAME_HEIGHT;i++)• {• for(j=0;j<FRAME_WIDTH;j++)• {• if((PECOutBuf[i*FRAME_WIDTH+j]&0XF)!=0 )• PECOutBuf[i*FRAME_WIDTH+j] = 0XFF;• else• PECOutBuf[i*FRAME_WIDTH+j] = 0X00;• }•}•for(i = 0; i < PEC_OUT_BUF_SIZE; i++)•{• int temp_pix;• unsigned char temp_pix8;• temp_pix = pPECInBuf[i] * 3;• temp_pix8 = temp_pix > 255 ? 255 : temp_pix;•PECOutBuf[i] = PECOutBuf[i] == 0 ? PECOutBuf[i] : temp_pix8;•}5.总结在掌握了BF609开发板的基本使用之后,通过本次实验,进一步掌握了CCES的各种功能;同时在边缘检测试验中,再一次复习了边缘检测的原理和基本方法,了解了BF609系列DSP在数字图像处理领域的广泛应用,增加了对图像处理领域的学习热情,也了解了BF609中专为图像处理而设计的流水线视觉处理器PVP模块的强大功能,学会了利用PVP对图像进行处理的基本方法。

DSP技术实验指导书--实验五 边缘检测实验

DSP技术实验指导书--实验五 边缘检测实验

实验五边缘检测实验1实验目的1.进一步掌握AZURE-BF609开发平台的使用;2.进一步掌握CCES调试方法;3.了解BF609 DSP在图像、视频处理领域的应用;4.了解边缘检测方法及意义;5.掌握利用PVP进行边缘检测的方法。

2实验前的准备工作1、仔细阅读实验指导书,确定实验的目的和要求。

3实验环境1.预装开发环境Cross Core Embedded Studio 1.0.2的计算机;2.BF609开发板一套;3.ADDS HPUSB-ICE仿真器一套。

4实验内容1、加载PGM格式的原始图片;2、在液晶屏幕上显示原始图片;3、对原始图片进行边缘检测处理;4、将边缘检测的结果在液晶屏幕上显示;5、将边缘检测的结果以PGM格式保存到文件;6、生成黑色边缘的边缘图像7、将黑色边缘叠加到淡化的原始图像上5学时数4学时6实验原理1.BF609 PVP简介BF609带有一个流水线视觉处理器(PVP),PVP提供了12个高性能的信号处理模块,这些模块可以灵活的组合形成流数据处理流水线,从而可以进行典型的视频和图像处理及分析内核(例如自动驾驶辅助系统)。

PVP针对卷积运算、基于小波的目标检测、分类、跟踪及检验算法进行了专门优化。

PVP集成了用于高速2D数字信号处理的一系列信号处理块。

PVP的主要模块:1)IPF0~1:格式化输入接口,接收输入到PVP模块的视频数据,其中IPF0的数据来自于视频子系统,如摄像头。

IPF1的数据接收存储器的数据,来自于DMA通道。

其主要功能包括:格式化输入数据、提取色度或亮度单元、加窗、分离奇偶像素、帧计数等。

2)OPF0~3:格式化输出接口,其中0~2用于视频子系统管道,而3用于存储器管道。

3)THC0~1:阈值直方图压缩4)CNV0~3:卷积,可以执行5x5的二维卷积运算5)PMA:极坐标幅值与角度计算6)ACU:算术运算单元,提供32位的加减乘除运算7)PEC:边缘检测,可实现一阶导数和二阶导数的边缘检测8)IIM0~1:图像块积分9)UDS:图像缩放大多数的信号处理块针对2D视频分析进行了优化,也可以用于一些通用的目的。

基于DSP器件的图像边缘检测的分析研究毕业设计论文

基于DSP器件的图像边缘检测的分析研究毕业设计论文

毕业设计(论文)基于DSP器件的图像边缘检测的分析研究毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:基于DSP器件的图像边缘检测的分析研究摘要:边缘检测是图像处理与分析中最基础的内容之一,是至今仍没有得到圆满解决的一类问题,也一直是图像处理与分析技术领域中的研究热点。

本文分析研究了梯度、Roberts、Prewitt、Sobel、Kirsch、Laplacian、Marr等算法,同时还给出了一种新型的边缘检测算法。

文中各边缘检测算法均在DSP软件仿真工具CCS中进行了仿真实现,并根据仿真结果对各算法加以了比较。

本文正是考虑到DSP器件特有的稳定性、可重复性、高速性,尤其是可编程性和易于实现自适应处理等优点,才采用这一新颖的方法。

此外,文中还介绍了一种最基本的模式识别算法-模板匹配,并对该算法进行了CCS仿真实现。

关键词:边缘检测 DSP CCS 模板匹配Analysis of Image Edge Detection Based on DSP DevicesSong DengliangAbstract:Edge detection is one of the most fundamentals in image processing and analyzing, which is still unsolved so far, and has been research hot in the domain of image processing and analysis technique. In this thesis, the edge detection algorithms researched include Gradient, Roberts, Prewitt, Sobel, Kirsch, Laplacian and Marr. At the same time, a new detection algorithm is put forward. All the edge detection algorithms involved have been simulated using the DSP software simulation tools of CCS, and compared with each other based on their simulation results. Just taking the unique features of DSP devices into account, such as: stability, repeatability, high-speed, in particular programmable and easy to achieve adaptive processing, thus this thesis adopts the new approach. Moreover, the most basic pattern recognition algorithm - template matching algorithm is introduced and simulated using CCS.Key words: Edge detection DSP CCS Pattern recognition目录引言 (3)第1章边缘检测及BMP位图介绍 (3)1.1 边缘概述 (3)1.2 边缘检测 (4)1.3 边缘检测的重要性 (4)1.4 BMP位图 (4)1.4.1 BMP位图概述 (4)1.4.2 BMP位图的文件结构 (5)1.4.3 BMP位图的数据结构 (5)1.4.4本文用于边缘检测的图像 (7)第2章 DSP及其软件开发工具CCS (8)2.1 DSP概述 (8)2.1.1 DSP芯片的特点 (8)2.1.2 DSP芯片的开发工具 (8)2.1.3 DSP的现状及未来发展 (9)2.2 DSP的软件开发工具CCS (10)2.2.1 CCS概况 (10)2.2.2 CCS的工作模式 (11)2.2.3 CCS的系统配置 (11)2.2.4 CCS的开发流程 (12)2.2.5 CCS集成开发环境的功能 (12)2.2.6 软件开发时需注意的问题 (14)第3章边缘检测算法 (16)3.1 边缘检测的一般步骤 (16)3.2 常见的边缘检测算子 (17)3.2.1梯度算子 (17)3.2.2 Roberts算子 (18)3.2.3 Prewitt算子 (19)3.2.4 Sobel算子 (20)3.2.5 Kirsch算子 (20)3.2.6 Laplacian算子 (21)3.2.7 Marr算子 (21)3.3基于模板的边缘检测算子 (22)3.4算法的具体实现过程 (23)3.5算法仿真结果 (24)3.5.1 针对(a)图像的算法评价之边缘的细化程度 (25)3.5.2 针对(b)图像的算法评价之边缘的连续性 (26)3.5.3 针对(c)图像的算法评价之边缘的光滑性 (27)3.5.4 算法比较结果统计 (27)第4章模板匹配 (29)4.1模板匹配的概念 (29)4.2 模板匹配的方法 (29)4.3 算法实验仿真 (31)4.4 实验仿真结果 (32)结论 (33)参考文献 (34)后记 (35)附录A 程序清单 (36)附录B 外文资料翻译 (45)外文资料翻译原文部分: (45)外文资料翻译译文部分: (51)引言边缘是图像的最基本特征[1]。

图像的边缘检测实验处理报告

图像的边缘检测实验处理报告

数字视频图像处理与通信实验实验项目:图像的边缘检测指导老师:***班级:姓名:学号:图像的边缘检测实验报告一;实验目的:1.掌握图像边缘检测的基本概念以及边缘检测的基本方法;2.通过matlab 实验的具体操作来具体掌握空间图像边缘检测的方法;3.通过matlab 实验来验证所学知识,达到学以致用;4.通过matlab 实验来理解roberts 、sobel 、canny 、log 几种算子的原理以及各个算法的优缺点,并加以比较。

二;实验原理:图像的边缘是图像最基本的特征之一。

所谓边缘(或边沿)是指周围像素灰度有阶跃性变化或“屋顶”变化的那些像素的集合。

边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间,因此它是图像分割依赖的重要特征。

图像边缘对图像识别和计算机分析十分有用,边缘能勾划出目标物体,使观察者一目了然;边缘蕴含了丰富的内在信息(如方向、阶跃性质、形状等)。

从本质上说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变、纹理结构突变等)的反应,它标志着一个区域的终结和另一个区域的开始。

边缘检测技术是所有基于边界分割的图像分析方法的第一步,首先检测出图像局部特性的不连续性,再将它们连成边界,这些边界把图像分成不同的区域,检测出边缘的图像就可以进行特征提取和形状分析,但各算子有自己的优缺点和适用领域。

Roberts 算子Roberts 算子是一种利用局部差分算子寻找边缘的算子,由下式给出: g(x,y)={[y x f ,(-)1,1(++y x f ]2+[y x f ,(- )1,1(++y x f ]2}21 ,其中f(x,y)是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视觉系统中发生的过程。

Roberts 算子边缘定位准,但是对噪声敏感。

适用于边缘明显而且噪声较少的图像分割,在应用中经常用Roberts 算子来提取道路。

Prewitt 边缘算子Prewitt 边缘算子的卷积和如图所示,图像中的每个像素都用这两个核做卷积,取最大值作为输出,也产生一幅边缘幅度图像。

(整理)DSP技术实验报告-实验4边缘检测.

(整理)DSP技术实验报告-实验4边缘检测.

电子科技大学电子工程学院标准实验报告(实验)课程名称DSP技术实验题目边缘检测电子科技大学实验报告实验地点:KB453 实验时间:11月2日实验室名称:DSP技术实验室实验项目名称:边缘检测实验1.实验目的1)进一步掌握AZURE-BF609开发平台的使用;2)进一步掌握CCES调试方法;3)了解BF609 DSP在图像、视频处理领域的应用;4)了解边缘检测方法及意义;5)掌握利用PVP进行边缘检测的方法。

2.实验内容1)加载PGM格式的原始图片;2)在液晶屏幕上显示原始图片;3)对原始图片进行边缘检测处理;4)将边缘检测的结果在液晶屏幕上显示;5)将边缘检测的结果以PGM格式保存到文件;3.实验报告要求1)完成实验步骤中所要求的所有实验结果的记录,需要的记录均加粗标注。

2)分别列给出一阶导数检测模式和二阶导数检测模式的PVP模块连接图。

3)记录在两种模式下各个不同参数的检测结果。

4)总结:可以包括实验过程中出现的问题、实验内容以及实验还可以进一步改进的地方等;5)根据上述要求完成标准实验报告的撰写。

4.实验结果4.1 实验结果1)原始图片:c//下面粘贴图片2)一阶导数边缘检测检测原理:oThresholds={50,100,0,0 }oThresholds={100,200,0,0 } //下面粘贴图片oThresholds={200,400,0,0 } //下面粘贴图片oThresholds={1200,1400,0,0 } //下面粘贴图片3)二阶导数边缘检测检测原理:oThresholds={0,0,1,2 }oThresholds={0,0,3,4 }oThresholds={0,0,5,6 }oThresholds={0,0,7,8 }反色后的结果:叠加到原始图像:4.2 实验中增加或修改的源程序边缘提取代码(边缘用白色表示):int i;#ifdef PEC_FIRST_DERIVIATIVEfor(i=0;i<FRAME_HEIGHT;i++){for(j=0;j<FRAME_WIDTH;j++){if((PECOutBuf[i*FRAME_WIDTH+j]&0X7)>=PEC_EDGE_BITS)PECOutBuf[i*FRAME_WIDTH+j] = 0XFF;elsePECOutBuf[i*FRAME_WIDTH+j] = 0X0;}}#elsefor(i=0;i<FRAME_HEIGHT;i++){for(j=0;j<FRAME_WIDTH;j++){if((PECOutBuf[i*FRAME_WIDTH+j]&0XF)!=0 )PECOutBuf[i*FRAME_WIDTH+j] = 0XFF;elsePECOutBuf[i*FRAME_WIDTH+j] = 0X00;}}#endif}边缘提取代码(边缘用黑色表示):int i;#ifdef PEC_FIRST_DERIVIATIVEfor(i=0;i<FRAME_HEIGHT;i++){for(j=0;j<FRAME_WIDTH;j++){if((PECOutBuf[i*FRAME_WIDTH+j]&0X7)>=PEC_EDGE_BITS)PECOutBuf[i*FRAME_WIDTH+j] = 0X0;elsePECOutBuf[i*FRAME_WIDTH+j] = 0XFF;}}#elsefor(i=0;i<FRAME_HEIGHT;i++){for(j=0;j<FRAME_WIDTH;j++){if((PECOutBuf[i*FRAME_WIDTH+j]&0XF)!=0 )PECOutBuf[i*FRAME_WIDTH+j] = 0X0;elsePECOutBuf[i*FRAME_WIDTH+j] = 0XFF;}}#endif将黑色边缘叠加到淡化的原始图像的代码://代码•for(i=0;i<FRAME_HEIGHT;i++)•{•for(j=0;j<FRAME_WIDTH;j++)•{•if((PECOutBuf[i*FRAME_WIDTH+j]&0X7)>=PEC_EDGE_BITS) •PECOutBuf[i*FRAME_WIDTH+j] = 0XFF;•else•PECOutBuf[i*FRAME_WIDTH+j] = 0X0;•}•}••for(i=0;i<FRAME_HEIGHT;i++)•{•for(j=0;j<FRAME_WIDTH;j++)•{•if((PECOutBuf[i*FRAME_WIDTH+j]&0XF)!=0 )••PECOutBuf[i*FRAME_WIDTH+j] = 0XFF;••else•PECOutBuf[i*FRAME_WIDTH+j] = 0X00;•}••}•for(i = 0; i < PEC_OUT_BUF_SIZE; i++)•{••int temp_pix;•unsigned char temp_pix8;•temp_pix = pPECInBuf[i] * 3;•temp_pix8 = temp_pix > 255 ? 255 : temp_pix;•PECOutBuf[i] = PECOutBuf[i] == 0 ? PECOutBuf[i] : temp_pix8;•}5.总结在掌握了BF609开发板的基本使用之后,通过本次实验,进一步掌握了CCES的各种功能;同时在边缘检测试验中,再一次复习了边缘检测的原理和基本方法,了解了BF609系列DSP在数字图像处理领域的广泛应用,增加了对图像处理领域的学习热情,也了解了BF609中专为图像处理而设计的流水线视觉处理器PVP模块的强大功能,学会了利用PVP对图像进行处理的基本方法。

多媒体实验图像滤波二与边缘检测

多媒体实验图像滤波二与边缘检测

多媒体实验报告——图像滤波二与边缘检测一、实验目的通过本章的课程设计,加深对数字图像滤波知识和边缘检测的理解,并获得如何处理图像的实际经验,达到以下目的1、熟练使用matlab进行图像的读取和显示;2、了解各种图像滤波的方法,了解边缘检测的方法;3、掌握图像滤波和边缘检测的编程方法。

二、实验内容1、完成实验指导书5.2.9节的内容,掌握图像滤波的方法;2、完成实验指导书5.3节的内容,掌握边缘检测的方法;3、在以上基础上完成下列程序的编写:练习1:完成5.2.9中p131页程序。

(注:lena图像在本版本matlab中没有,本实验的索引图像可采用'trees.tif')观察程序结果,对结果进行说明。

程序如下:[X,map]=imread('trees.tif');I=ind2gray(X,map);hsize=3;h1=fspecial('gaussian');I1=imfilter(I,h1);h2=fspecial('gaussian',hsize,1.5);I2=imfilter(I,h2);h3=fspecial('gaussian',hsize,2.5);I3=imfilter(I,h3);subplot(221);subimage(I);title('原始灰度图像','FontSize',14,'Fontname','隶书','color','b')subplot(222);subimage(I1);title('sigma=0.5的高斯低通滤波','FontSize',14,'Fontname','隶书','color','b');subplot(223);subimage(I2);title('sigma=1.5的高斯低通滤波','FontSize',14,'Fontname','隶书','color','b');subplot(224);subimage(I3);title('sigma=2.5的高斯低通滤波','FontSize',14,'Fontname','隶书','color','b');Matlab图像处理结果如下:练习2:改写练习1的程序,本次处理的图像为彩色图像。

dsp图像处理实验报告

dsp图像处理实验报告

dsp图像处理实验报告DSP图像处理实验报告一、引言数字信号处理(DSP)是一种用于处理数字信号的技术,广泛应用于各个领域。

图像处理是DSP的一个重要应用,通过对图像进行数字化处理,可以实现图像增强、边缘检测、目标识别等功能。

本实验旨在通过DSP技术对图像进行处理,探索图像处理算法的实际应用。

二、实验目的1. 了解数字信号处理在图像处理中的应用;2. 掌握DSP平台的基本操作和图像处理算法的实现;3. 进一步熟悉MATLAB软件的使用。

三、实验环境和工具本实验使用的DSP平台为TMS320C6713,开发环境为Code Composer Studio (CCS)。

图像处理算法的实现主要依赖于MATLAB软件。

四、实验步骤1. 图像采集与预处理首先,通过CCD摄像头采集一张待处理的图像,并将其转化为数字信号。

然后,对图像进行预处理,包括去噪、灰度化等操作,以提高后续处理的效果。

2. 图像增强图像增强是指通过一系列算法和技术,提高图像的质量、清晰度和对比度。

在本实验中,我们采用了直方图均衡化算法对图像进行增强。

该算法通过对图像像素值的统计分析,调整像素值的分布,使得图像的对比度更加明显,细节更加突出。

3. 边缘检测边缘检测是图像处理的重要环节,可以用于目标识别、图像分割等应用。

在本实验中,我们采用了Canny算法进行边缘检测。

Canny算法是一种经典的边缘检测算法,通过对图像进行多次滤波和梯度计算,得到图像的边缘信息。

4. 目标识别目标识别是图像处理中的关键任务之一,可以应用于人脸识别、车牌识别等领域。

在本实验中,我们以人脸识别为例,使用了Haar特征分类器进行目标识别。

Haar特征分类器是一种基于图像特征的分类器,通过对图像进行特征提取和分类器训练,可以实现对目标的快速准确识别。

五、实验结果与分析通过对图像进行处理,我们得到了增强后的图像、边缘检测结果和目标识别结果。

经过对比分析,我们发现图像增强算法能够有效提高图像的对比度和清晰度,使得图像更加易于观察和分析。

图像的边缘检测实验报告

图像的边缘检测实验报告

图像的边缘检测实验报告图像的边缘检测实验报告一、引言图像处理是计算机科学领域中的一个重要研究方向,而边缘检测作为图像处理的基础任务之一,具有广泛的应用价值。

边缘是图像中灰度或颜色变化较为剧烈的地方,通过检测图像中的边缘可以提取出物体的轮廓、形状等重要信息,从而为后续的图像分析和识别提供基础。

二、实验目的本次实验旨在探究不同的边缘检测算法在图像处理中的应用效果,并通过实验结果分析和比较各算法的优缺点,从而为图像处理领域的研究和应用提供参考。

三、实验方法1. 实验环境:使用Python编程语言,结合OpenCV图像处理库进行实验。

2. 实验数据:选择了包含多种物体和复杂背景的图像作为实验数据,以保证实验的可靠性和准确性。

3. 实验步骤:(1) 读取图像数据,并将其转化为灰度图像。

(2) 对图像进行预处理,如降噪、平滑等操作,以提高边缘检测的效果。

(3) 使用不同的边缘检测算法对图像进行处理,如Sobel算子、Canny算法等。

(4) 分析和比较不同算法的实验结果,评估其优缺点。

四、实验结果与分析1. Sobel算子:Sobel算子是一种基于梯度的边缘检测算法,通过对图像进行卷积操作,提取出图像中的边缘信息。

实验结果显示,Sobel算子能够较好地检测出图像中的边缘,但对于噪声较多的图像效果较差。

2. Canny算法:Canny算法是一种经典的边缘检测算法,通过多步骤的处理过程,包括高斯滤波、计算梯度、非极大值抑制和双阈值处理等,最终得到清晰准确的边缘信息。

实验结果显示,Canny算法能够有效地检测出图像中的边缘,并具有较好的抗噪性能。

3. 其他算法:除了Sobel算子和Canny算法外,还有许多其他的边缘检测算法,如拉普拉斯算子、Roberts算子等,它们各自具有不同的特点和适用范围。

在实验中,我们也对这些算法进行了尝试和比较,发现它们在不同的图像场景下有着各自的优势和局限性。

五、实验总结与展望通过本次实验,我们对图像的边缘检测算法进行了探究和比较。

数字图像处理--图像的锐化处理实验报告

数字图像处理--图像的锐化处理实验报告

江 西 理 工 大 学江 西 理 工 大 学 实 验 报 告 纸第 1 页/共 2页一、实验目的了解图像增强中的模板锐化法;要求先选择两幅图像,对其进行a=1和a=2的锐化处理,实现教材中图4.4.2的效果;再选择一幅图像,验证教材中提出的锐化实质,实现教材中图4.4.3的效果,并对实验结果进行分析。

二、实验内容1、选择两幅图像,对其进行a=1和a=2的锐化处理,实现教材中图4.4.2的效果,并分析实验结果。

2、选择一幅图像,验证教材中提出的锐化实质,实现教材中图4.4.3的效果,并分析实验结果。

三、实验步骤和设计思想设计思想:在matlab 环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。

f11=imread('lena1.bmp');f21=imread('442.bmp');%读取图像subplot(2,3,1);imshow(f11) %输出图像 title('原图') %在原始图像中加标题 a=1; %当a=1时w1=[0 -a 0;-a 1+4*a -a;0 -a 0]; %设置w1J1= imfilter(f11,w1,'symmetric','conv'); %进行锐化处理 f12=uint8(J1); %数据类型转换 subplot(2,3,2);imshow(f12); %显示锐化后的图像 title('a=1'); 实验步骤:1. 启动matlab 双击桌面matlab 图标启动matlab 环境;2. 在matlab 命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab 自带的图像,如: lena1.bmp 、lena1.bmp 图像;再调用相应的锐化函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4运行,观察显示结果; 5结束运行,退出;四、程序清单任务一源代码: clc close clear allf11=imread('lena1.bmp'); f21=imread('442.bmp'); figure(1);subplot(2,3,1); imshow(f11); title('原图'); subplot(2,3,4); imshow(f21); a=1;w1=[0 -a 0;-a 1+4*a -a;0 -a 0];J1= imfilter(f11,w1,'symmetric','conv'); f12=uint8(J1); subplot(2,3,2); imshow(f12); title('a=1'); a=2;w2=[0 -a 0;-a 1+4*a -a;0 -a 0];J1= imfilter(f11,w2,'symmetric','conv'); f13=uint8(J1); subplot(2,3,3); imshow(f13); title('a=2');数字图像处理 实验报告姓名: 江 西 理 工 大 学 实 验 报 告 纸第 2 页/共 2页J1=imfilter(f21,w1,'symmetric','conv'); f22=uint8(J1); subplot(2,3,5); imshow(f22);J1=imfilter(f21,w2,'symmetric','conv'); f23=uint8(J1); subplot(2,3,6); imshow(f23);任务二源代码: clc close clear allf1=imread('lena1.bmp'); figure(1);subplot(1,3,1); imshow(f1); title('原图'); a=2;w=[0 -a 0;-a 4*a -a;0 -a 0];J= imfilter(f1,w,'symmetric','conv'); f12=uint8(J); subplot(1,3,2); imshow(f12); title('加重边缘');w1=[0 -a 0;-a 1+4*a -a;0 -a 0];J= imfilter(f1,w1,'symmetric','conv'); f12=uint8(J); subplot(1,3,3); imshow(f12); title('锐化结果');五、实验调试记录六、实验结果及其分析任务一结果:任务二结果:七、实验心得通过这次我对图像锐化法有了进一步了解,对图像处理中锐化的效果进一步掌握,对于以后的学习有很大的帮助。

东南大学系统实验(DSP)实验报告

东南大学系统实验(DSP)实验报告

系统实验(DSP)实验报告一、 实验题目⑴ 图像的锐化处理(高通滤波处理)处理模板如下:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--+--=004100αααααM 25.0=α 对应数学表达式:()[])1,(),1()1,(),1(),(41),(++++-+--+=y x f y x f y x f y x f y x f y x g αα⑵ 图像的边缘检测方向方向和y x 的梯度分别为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=∆10110110131xf ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=∆11100011131y f 总梯度幅度yx f f f ∆+∆=∆[,1(),1()1,1()1,1(),1()1,1(||31-------+++++-+=∆yx f y x f y x f y x f y x f y x f fx[,1()1,()1,1()1,1()1,()1,1(||31+-+-+---++-+--=∆yx f y x f y x f y x f y x f y x f f y⎩⎨⎧≥∆=elseT f ify x g 01),(二、 实验原理为了更加通俗地描述图像处理方法,这里引入模板的概念。

模板就是一个矩阵,模板大小通常为2⨯2、3⨯3,模板也好比一个窗口,将模板窗口覆盖在图像上,窗口覆盖到的象素就是将要处理的象素,而象素所对应的模板矩阵元素的值就是加权值,模板运算就是将模板矩阵元素与对应的象素值相乘并求和。

如下图所示,模板为3⨯3大小,对应到图像上窗口亦为3⨯3大小,窗口中有九个象素与模板相对应。

模板第一行11m 与)1,1(--y x f 、12m 与)1,(-y x f 、13m 与图像模板示意图)1,1(-+y x f 相对应,模板第二、三行依此类推。

根据模板运行规则,3⨯3模板对应的表达式数学为:)1,1()1,()1,1(),1(),(),1()1,1()1,()1,1(),(333231232221131211++⋅++⋅++-⋅++⋅+⋅+-⋅+-+⋅+-⋅+--⋅=y x f m y x f m y x f m y x f m y x f m y x f m y x f m y x f m y x f m y x g⑴、图像的锐化处理锐化式可以用模板表示为:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--+--=004100αααααM 对应的数学表达式是:()[])1,(),1()1,(),1(),(41),(++++-+--+=y x f y x f y x f y x f y x f y x g αα⑵、图像的边界检测边界特点:沿边界走向特性变化比较缓慢,垂直于边界走向特性变化比较剧烈。

图像锐化与边缘检测

图像锐化与边缘检测

图像锐化与边缘检测
其计算结果反映的是图 像的变化率
常用的一阶微分算 子 有Sobel算子、Priwitt 算子、Roberts算子、 Kirsch 算子等
此外,对于一阶微分算 子,可以只在某一个方 向进行微分运算,这种 算子称为单方向微分算 子
图像锐化与边缘检测
比如,只计算X方向的微分或只计算Y方向的微分
如果利用这种方法进行图像锐化或边缘检测,也称为单方向锐化或边缘检测算子
在数字图像处理中,一阶差分算子常用卷积模板来实现
2.1.1水平微分和垂直微分算子
(2-1)
(2-2)
除了式(2-1)和式(2-2) 所示的梯度计算方式来计算水平微分和垂直微分之外,常用的水平和重直微分算 子常用图2.1所示的模板实现。其分别计算的是x方向的梯度和y方向的梯度
XXXX
XXXXX
图像锐化与边缘检测
在过去的几十年中,许多研究者已经提出了许多用于图像锐化和边缘检测的方法。其中, 一阶和二阶微分算子是最常用的技术之一。一阶微分算子主要用于检测图像的边缘,而二 阶微分算子则主要用于增强图像的清晰度。这些技术已经在许多实际应用中得到了验证, 并被广泛接受 2.微分算子锐化的边缘检测及锐化 2.1一阶微分算子锐化的边缘检测及锐化 一阶微分算子也称为一阶差分算子, 其计算过程即为计算图像的梯度大小
在实际计算过程中,常用梯度模板与原图进行卷积运算得到。由式(7-14) 可以得出,D.和D.分别计算
4 的工和y方向的梯度,根据其计算方式,可以采用图75所示模板与原图进行卷积计算,即可得到两个方
向的梯度计算结果
5=
=
图像锐化与边缘检测
图2.3 Sobel 算子的计算模板 Sobel算子方法简单、处理速度快,并且所得的边缘光滑、连续。但是边缘较粗。此外, Sobel算子对噪声具有平滑作用,提供较为精确的边缘方向信息,当边缘定位对精度要求
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DSP 实验报告
一、 图像的锐化处理(高通滤波处理)
1、 实验原理
处理模板如下:
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡--+--=004100
ααα
ααM 25.0=α
对应数学表达式:
()[])1,(),1()1,(),1(),(41),(++++-+--+=y x f y x f y x f y x f y x f y x g αα
2、 C 程序及运行结果
程序:
Acute_RGB_Image(int *buffer)
{
int x,y;
for (y=0;y<ImageHeight;y++)
for (x=0;x<ImageWidth;x++)
{
buffer[y*ImageWidth+x]=2*buffer[y*ImageWidth+x]-(buffer[y*ImageWidth+x-1]+b uffer[(y-1)*ImageWidth+x]+buffer[y*ImageWidth+x+1]+buffer[(y+1)*ImageWidth+x])/4;
if(buffer[ImageWidth*y+x]>255)
buffer[ImageWidth*y+x]=255;
else if (buffer[ImageWidth*y+x]<0)
buffer[ImageWidth*y+x]=0;
}
}
运行结果:
锐化前锐化后
分析:从上面两幅图可以看出锐化后的图像轮廓变得明显,且噪声变得强烈。

3、汇编程序及运行结果
程序:
ImageAcuteSub(ImageWidth,ImageHeight,buffer_red);
ImageAcuteSub(ImageWidth,ImageHeight,buffer_green);
ImageAcuteSub(ImageWidth,ImageHeight,buffer_blue);
.mmregs
.def _ImageAcuteSub
.text
_ImageAcuteSub:
mov t0,brc1 ;IMAGE WIDTH
mov t1,brc0 ;IMAGE HEIGHT
rptb y_loop
rptb x_loop
mov *ar0(#1),ac1;f(x+1,y)
add *ar0(#-1),ac1 ;f(x-1,y)
add *ar0(#-250),ac1 ;f(x,y-1)
add *ar0(#250),ac1 ;f(x,y+1)
sfts ac1,#-2
mov *ar0<<#1,ac0;2f(x,y)
sub ac1,ac0
bcc branch1,ac0<0
sub #255,ac0,ac1
bcc branch2,ac1>0
mov ac0,*ar0+
b x_loop
branch1: mov #0,*ar0+
b x_loop
branch2: mov #255,*ar0+
x_loop: nop
y_loop: nop
RET
运行结果:
锐化前 锐化后
分析:可以看出汇编的结果和C 程序的结果是一致的。

二、 图像的边缘检测
1、 实验原理
方向方向和y x 的梯度分别为: ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=∆10110110131x f ⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡---=∆11100011131y f 总梯度幅度
y
x f f f ∆+∆=∆[]13||(1
,1)(1,)(1,1)(1,1)(1,)(1,1)x f f x y f x y f x y f x y f x y f x y ∆=+-+++++-------+[])1,1()1,()1,1()1,1()1,()1,1(||3
1
++-+-+---++-+--=∆y x f y x f y x f y x f y x f y x f f y ⎩⎨⎧≥∆=else T f if y x g 01),(
实验中的阈值设为120。

2、 C 程序及运行结果
程序:
Edge_Grey_Image()
{
int x,y;
int delta_x,delta_y;
for (y=0;y<ImageHeight;y++)
for (x=0;x<ImageWidth;x++)
{
delta_x=abs(buffer_grey[ImageWidth*(y-1)+x+1]+buffer_grey[ImageWidth*y+x +1]+buffer_grey[ImageWidth*(y+1)+x+1]-buffer_grey[ImageWidth*(y-1)+x-1]-b uffer_grey[ImageWidth*y+x-1]-buffer_grey[ImageWidth*(y+1)+x-1])/3;
delta_y=abs(buffer_grey[ImageWidth*(y-1)+x-1]+buffer_grey[ImageWidth*(y-1)+x]+buffer_grey[ImageWidth*(y-1)+x+1]-buffer_grey[ImageWidth*(y+1)+x-1]-buffer_grey[ImageWidth*(y+1)+x]-buffer_grey[ImageWidth*(y+1)+x+1])/3;
if((delta_x+delta_y)>=Threshhold)
buffer_org[ImageWidth*y+x]=255;
else buffer_org[ImageWidth*y+x]=0;
}
}
运行结果:
边缘处理前边缘处理后
分析:从上面两幅图可以看出,原图像的边缘经过处理后可以很好的用白线来勾勒出,没有边缘的地方都用黑色表示,可以很清楚的从处理后的图片看出斑马的形状。

3、汇编程序及运行结果
程序:
ImageEdgeSub(ImageWidth,ImageHeight,buffer_org);
.mmregs
.def _ImageEdgeSub
.bss TEMP,1
.text
_ImageEdgeSub:
mov t0,BRC1
mov t1,BRC0
mov xar0,ac3
mov #256<<#11,ac2
mov ac2,xar1
RPTB Y_LOOP
RPTB X_LOOP
mov *ar0+,*ar1+;将ar0的内容复制到ar1里面
X_LOOP: nop
Y_LOOP: nop
mov t0,brc1 ;IMAGE WIDTH
mov t1,brc0 ;IMAGE HEIGHT
mov ac2,xar1
mov ac3,xar0
rptb y_loop
rptb x_loop
mov *ar1+,ac0
mov *ar1(#-149),ac0;f(x+1,y-1)
add *ar1(#1),ac0 ;f(x+1,y)
add *ar1(#151),ac0 ;f(x+1,y+1)
sub *ar1(#-151),ac0;f(x-1,y-1)
sub *ar1(#-1),ac0 ;f(x-1,y)
sub *ar1(#149),ac0;f(x-1,y+1)
abs ac0
mov *ar1(#-151),ac1 ;f(x-1,y-1)
add *ar1(#-150),ac1 ;f(x,y-1)
add *ar1(#-149),ac1 ;f(x+1,y-1)
sub *ar1(#149),ac1 ;f(x-1,y+1)
sub *ar1(#150),ac1 ;f(x,y+1)
sub *ar1(#151),ac1 ;f(x+1,y+1)
abs ac1
add ac1,ac0
call DIVION
sub #120,ac0,ac0
bcc branch1,ac0>0
mov #0,*ar0+
b x_loop
branch1: mov #255,*ar0+
x_loop: nop
y_loop: nop
RET
DIVION:
amov #080000h,XAR7
mov #3,*ar7
mov #16,t0
mov ac0,ac1
branch2: subc *ar7,ac1,ac2
mov ac2,ac1
sub #1,t0
bcc branch2,t0>0
mov ac1,t1
mov t1,ac0
RET
运行结果:
边缘处理前边缘处理后
分析:可以看出汇编的结果和C程序的结果是一致的。

相关文档
最新文档