DSP技术实验报告实验4边缘检测.docx
《DSP技术实验报告实验4边缘检测.docx》由会员分享,可在线阅读,更多相关《DSP技术实验报告实验4边缘检测.docx(10页珍藏版)》请在冰豆网上搜索。
DSP技术实验报告实验4边缘检测
电子科技大学电子工程学院
标准实验报告
(实验)课程名称DSP技术
实验题目
边缘检测
电子科技大学
实验报告
实验地点:
KB453实验时间:
11月2日
实验室名称:
DSP技术实验室
实验项目名称:
边缘检测实验
1.实验目的
1)进一步掌握AZURE-BF609开发平台的使用;
2)进一步掌握CCES调试方法;
3)了解BF609DSP在图像、视频处理领域的应用;
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实验中增加或修改的源程序
边缘提取代码(边缘用白色表示):
inti;
#ifdefPEC_FIRST_DERIVIATIVE
for(i=0;i{
for(j=0;j{
if((PECOutBuf[i*FRAME_WIDTH+j]&0X7)>=PEC_EDGE_BITS)
PECOutBuf[i*FRAME_WIDTH+j]=0XFF;
else
PECOutBuf[i*FRAME_WIDTH+j]=0X0;
}
}
#else
for(i=0;i{
for(j=0;j{
if((PECOutBuf[i*FRAME_WIDTH+j]&0XF)!
=0)
PECOutBuf[i*FRAME_WIDTH+j]=0XFF;
else
PECOutBuf[i*FRAME_WIDTH+j]=0X00;
}
}
#endif
}
边缘提取代码(边缘用黑色表示):
inti;
#ifdefPEC_FIRST_DERIVIATIVE
for(i=0;i{
for(j=0;j{
if((PECOutBuf[i*FRAME_WIDTH+j]&0X7)>=PEC_EDGE_BITS)
PECOutBuf[i*FRAME_WIDTH+j]=0X0;
else
PECOutBuf[i*FRAME_WIDTH+j]=0XFF;
}
}
#else
for(i=0;i{
for(j=0;j{
if((PECOutBuf[i*FRAME_WIDTH+j]&0XF)!
=0)
PECOutBuf[i*FRAME_WIDTH+j]=0X0;
else
PECOutBuf[i*FRAME_WIDTH+j]=0XFF;
}
}
#endif
将黑色边缘叠加到淡化的原始图像的代码:
//代码
•for(i=0;i•{
•for(j=0;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•{
•for(j=0;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•{
•inttemp_pix;
•unsignedchartemp_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对图像进行处理的基本方法。