基于TIDM642的图像边缘检测实现采用Laplacian算子毕业设计论文Word文档格式.docx
- 文档编号:17711293
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:34
- 大小:773.03KB
基于TIDM642的图像边缘检测实现采用Laplacian算子毕业设计论文Word文档格式.docx
《基于TIDM642的图像边缘检测实现采用Laplacian算子毕业设计论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于TIDM642的图像边缘检测实现采用Laplacian算子毕业设计论文Word文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
所以在DM642系统上进行实时图像边缘检测为实时图像处理在其它领域的应用打下了坚实的基础。
1.1课程设计的目的
科技的进步带动了DSP技术的发展,现代控制设备的性能和结构发生了巨大的变化,我们已经进入了高速发展的信息时代,DSP技术也成为当今科技的主流之一,被广泛地应用于生产的各个领域。
对于本次设计,其目的在于:
(1)熟悉掌握DSP及DSP硬件器的结构、各部件基本工作原理。
(2)熟悉掌握DM642及实验板。
(3)熟悉CCS集成开发环境,并能较熟练的对CCS的开发系统进行使用。
(4)熟悉使用汇编语言编程DSP源程序。
(5)握工程设计的流程及方法,学习DSP程序的调试及编写,及运用观察变量的方法查看程序的运行情况。
1.2课程设计的要求
(1)综合运用DSP基本技术和图像处理系统设计方法设计本系统。
(2)学会文献检索的基本方法和综合运用文献的能力。
(3)通过课程设计培养严谨的科学态度,认真的工作作风和团队协作精神。
(4)在老师的指导下,独立完成课程设计的全部内容,并按要求编写课程设计论文,能正确阐述和分析设计和实验结果。
1.3设计平台
计算机;
DSP仿真器;
DM642V2开发板;
模拟摄象机;
监视器(电视机)。
2基本原理
2.1图像边缘检测算法原理及方法
物体的边缘通常由灰度的变化来反映。
边缘种类可分为两种:
一是阶跃性边缘,它两边像素灰度值有显著不同;
二是屋顶性边缘,它位于灰度值从增加到减少的变化转折点。
目前,处理边缘检测的方法有很多种:
如Sobel算子,Roberts算子,Prewitt算子,高斯拉普拉斯算子(Gauss—Laplace)等,通过研究对比处理后图像得出:
Robert算子对具有陡峭的低噪声图像效果最好,Sobel算子和Prewitt算子不是各向同性的,得到的图像并不是完全连通的,有一定程度的断开。
而高斯拉普拉斯算子不但对灰度渐变和噪声较多的图像处理最好,而且是各向同性,得到的图像具有连贯性和高清晰度。
本文以高斯拉普拉斯算子为例,给出边缘检测算法在DM642上的实现。
因灰度值在边缘发生跳边,为了实现对边缘的检测,可以采用梯度算子使边缘更加突出,梯度运算定义为
(1)
对数字图像来说
(2)
则
(3)
公式(3)可用算子模板表示为
,而拉普拉斯算子是对二维函数进行运算的二阶导数的算子,处理时对f(x,y)为中心的3×
3区域加以3×
3加权窗口,计算此窗口的相关值,求得拉普拉斯算子图像g(x,y)为公式4所示。
(4)
拉普拉斯算子(Laplace)是对二维普通拉普拉斯算子是一个二阶导数,它在图像边缘外产生一个陡峭的零交叉,由于噪声点对边缘检测有一定的影响,采用高斯拉普拉斯算子,可以把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平滑掉噪声,再进行边缘检测,所以效果较好。
2.2DSP系统简介
如图2.1所示是数字信号处理(DSP)系统的简化框图。
此系统先将模拟信号转换为数字信号,经数字信号处理后,再转换成模拟信号输出。
其中抗混叠滤波器的作用是将输入信号X(t)中高于折叠频率的分量滤除,以防止信号频谱的混叠。
随后,信号经采样和A/D转换后,变成数字信号X(n)。
数字信号处理器对X(n)进行处理,得到输出数字信号Y(n),经D/A转换器变成模拟信号。
此信号经低通滤波器,滤除不需要的高频分量,最后输出平滑的模拟信号Y(t)。
图2.1数字信号处理系统简化框图
设计DSP应用系统,DSP的选择是重要的一环。
只有选择了DSP芯片,才能进一步设计其外围电路及系统的其他电路。
总而言之,DSP芯片的选择应该根据实际应用系统的需要来定。
一般来说,选择DSP芯片时应该考虑如下的因素:
(1)运算速度。
运算速度是DSP芯片的最重要的性能指标,也是考虑选择DSP芯片的主要因素。
(2)价格。
价格也是选择DSP芯片时必须考虑的一个重要因素。
最为毕业设计的课题研究,在满足设计要求的基础上,我们应当尽量的节约开支。
(3)硬件资源。
不同的DSP芯片硬件资源不同,如片内RAM与ROM的容量,外部可扩展的程序和数据空间以及总线接口等。
(4)运算精度。
(5)开发工具和功耗也是在选择DSP芯片时应该特别注意的。
而TMS320C5410的DSP的运算速度指标如下:
(1)单指令周期时间分为25/20/15/12.5/10ns;
(2)每秒指令数为40/50/66/80/100/200MIPS。
与此同时,作为16位的定点DSP它的价格相对而言是很便宜的,同时它拥有16k的片内程序ROM,和64k的RAM以及96k的I/O空间,运算精度可以达到10e-5级精度,功耗较低(采用3.3/2.5v电源),完全能够满足本次课题研究的需要。
因此本课程设计中DSP系统的设计流程如图2.2所示。
图2.2DSP系统设计流程
2.3TIDM642芯片简介
TMS320DM642视频/图像定点数字信号处理器是高性能数字媒体处理器。
TMS320C64xDSP芯片(包括TMS320DM642)是在TMS320C6000DSP平台上的高性能定点DSP。
TMS320DM642(DM642)是基于有TI开发的第二代高性能,先进VelociTI技术的VLIW结构(VelociTI1.2),从而使得这些DSP芯片成为数字多媒体的极好的选择。
DM642在主频720MHz下处理速度达到5760MIPS,并且给高性能DSP规划提供了廉价的解决方案。
DM642操作灵活的高速处理器和用数字表达容量的阵列处理器。
C64xDSP核具有64个32位字长的通用寄存器和8个独立的功能单元——两个结果为32位的乘法器和6个ALUs——是VelociTI1.2的升级版。
VelociTI1.2升级版在8个功能单元里包括新的指令,可以在视频和图像应用方面提高性能,并能对VelociTI结构进行扩充。
DM642每周期能够提供4个16位MACs,每秒可提供2880百万个MACs,或者8个8位MACs,每秒5760MMACs。
DM642具有特殊应用的硬件结构,片上存储器和与其它的C6000系列DSP平台相似的额外的片上外围设备。
DM642使用两级缓存,有一个强大的多变的外围设置。
一级程序缓存L1P是一个128Kbit的直接映射缓存,另一级数据缓存L1D是一个128Kbit双路结合设置缓存。
L2存储器能被配置成映射存储器,高速缓存或者两者结合。
外围设置包括:
3个可配置的视频端口;
1个10/100Mb/s的以太网控制器(EMAC);
1个管理数据输入输出(MDIO);
1个内插VCXO控制接口;
1个McASP0;
1个I2C总线;
2个McBSPs;
3个32位通用定时器;
1个用户配置的16位或32位主机接口(HPI16/HPI32);
1个PCI;
1个16引脚的通用输入输出口(GP0),具有可编程中断/事件产生模式;
1个64位IMIFA,可以与同步和异步存储器和外围设备相连。
DM642具有3个可配置视频端口(VP0,VP1,VP2)。
这些视频端口给公共视频编解码设备提供了直接接口。
DM642具有有效的带宽支持8个串行数据引脚传输一个192KHz立体声信号。
每个区域的串行数据在多个串行数据引脚上可以同时地被发射和接收,并可以在飞利浦I2S形式上设计成多种样式。
另外,McASP0发送器可以同时地被编程为输出多种S/PDIF,IEC60958,AES-3,CP-430编码数据通道,同时一个RAM包含完整的可执行用户数据和通道状态区域。
图2.3是DM642的原理框图。
图2.3DM642的原理框图
McBSPs:
FramingChips-H.100,MVIP,SCSA,T1,E1;
AC97设备;
SPI设备;
编解码器。
视频端口0(VP0)外设与McBSP0和McASP0控制引脚相复用。
视频端口1外设与McBSP1和McASP1数据引脚相复用。
PCI外设与HPI(32/16),EMAC和MDIO外设相复用。
该CPU采用VelociTI高级超长指令字(VLIWs)(宽度为256位),支持8条32位的指令,使其在每个时钟周期内可操作8个功能单元,如图2.4所示。
图2.4TMS320C64xCPU(DSP核)数据通路
其中:
A.M单元longdst是32MSB,dst是32LSB。
2.4DM642外设硬件配置
2.41I2C模块功能特性
I2C(Inter-IntegratedCircuit)模块的存在,使得TMS320C6000DSP芯片可以与其他一些符合菲利浦半导体I2C总线的外部设备,通过I2C总线来建立连接。
外部设备通过这种两线式串行总线,有I2C模块传送/接受8-bit的数据到DSP芯片。
I2C模块可以被用来实现对外部芯片的控制,这些芯片是被用来和系统里的其他控制器或者用户控制界面经通讯的,具体如图2.5所示。
I2C端口支持:
(1)符合飞利浦半导体I2C总线2.1标准(2001年1月)
(2)其快速模式可支持最高400Kbps的数据传输速率
(3)噪声滤波器可以滤除周期为50ns或更低的噪声
(4)7Bit或者10Bit的设备寻址模式
(5)主控(接收/发送)和被控(接收/发送)功能
(6)事件:
直接存储器访问(DMA),中断,轮询
(7)摆率首先的漏极开路缓冲设置
图2.5I2C模块系统图
2.42视频端口
TMS320DM642有三个视频端口外围设备。
视频端口外设可作为视频采集端口,视频显示端口,或作为传输流接口采集端口(TSI)。
此端口由A和B两个通道组成。
在两个通道之间存在一个可分开的5120字节的采集/显示缓冲区。
整个端口(全部通道)经常被配置成仅仅进行视频采集或者视频显示。
独立的数据流水线控制着对BT.656,Y/C,原始视频,和TSI模型中每个视频采集或显示数据的解析和格式化。
在视频采集操作中,视频端口可以作为BT.656或者原始视频采集的两个8/10位通道来操作;
或者作为8/10位BT.656,8/10位原始视频,16/20位Y/C视频,16/20位原始视频,或8位TSI的一个单通道。
在视频显示操作中,视频端口可以作为8/10位BT.656的一个单通道来操作;
或者作为8/10位BT.656,8/10位原始视频,16/20位Y/C视频,16/20位原始视频I的一个单通道。
它也可以在两个通道的8/10位原始模型中操作,在这个模型中这两个通道被锁定到相同的时间。
在单通道操作过程中B通道没有被使用。
2.5CCS软件简介
软件设计是基于CCS开发环境的。
CCS是TI公司推出的为开发TMS320系列DSP软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。
它采用Windows风格界面,提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。
本课程设计通过CCS软件平台上应用执行效率高的汇编语言来实现余弦信号发生装置。
一个典型的CCS集成开发环境用户界面如图2.6所示。
图2.6CCS用户界面
由上图知整个用户界面由主菜单、工具栏、工程窗口、源程序编辑调试窗口、输出窗口等组成。
工程窗口用来组织用户飞若干程序构成一个项目,用户可以从工程列表中选择需要编辑和调试的特定程序,可以在工程中添加文件。
在源程序编辑窗口中用户可以编辑程序,又可以设置断点、探针调试程序。
输出窗口显示编译信息、程序执行结果。
CCS主菜单中共有12项,如图2.7所示,各项功能见表2-1。
图2.7CCS主菜单
菜单项
功能
File(文件)
文件管理,载入执行程序,符号数据,文件输入/输出
Edit(编辑)
文字及变量编辑,如剪切、粘贴、撤销、字符串查找
View(查看)
工具栏显示设置,内存、寄存器和图形显示等
Project(工程)
工程管理及编译、构建工程等
Debug(调试)
断点、探针设置、单步执行、复位等
Profiler(性能)
包括时钟和性能断点设置等
GEL(扩展功能)
利用通用扩展语言设置扩展功能
Option(选项)
设置字体、颜色、键盘属性以及动画速度、内存映射
Tools(工具)
包括引脚链接、端口链接、命令窗口、链接配置
DSP/BIOS(实时分析)
用来辅助CCS环境实现程序实时调试
Window(窗口)
包括窗口排列、窗口列表等
Help(帮助)
CCS在线帮助菜单,包括用户手册、入门指南等
表2-1主菜单各项功能简介
常用工具栏有CCS的一些常用命令组成,有6个工具栏,分别是:
StandardToolbar(标准工具条)、GELToolbar(GEL工具条)、ProjectToolbar(工程工具条)、DebugToolbar(调试工具条)、EditToolbar(编辑工具条)和Plug-inToolbar(插件程序工具条)。
这6种工具栏可在View菜单下找到,如图2.8所示,并可选择是否显示该工具栏。
图2.8View菜单
3硬件设置与算法实现
3.1硬件资源的设置
DM642的IIC的设置结构:
I2C_ConfigDM642IIC_Config={
0,
(20-5),
1,
0x4ea0,
(75-1),
};
staticUint8saa7113_ta[]={
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,
0x11,0x12,0x13,0x15,0x16,0x17,0x40,0x58,
0x59,0x5a,0x5b,0x5e
staticUint8saa7113_tv[]={
0x08,0xc3,0x33,0x00,0x00,0x0eb,0x0e0,0x0B8,
0x01,0x7E,0x46,0x43,0x01,0x01,0x0F,0x00,
0x0c,0xA7,0x00,0x00,0x00,0x00,0x02,0x00,
0x54,0x07,0x80,0x00
I2C_Handlehdm642i2c;
intportNumber;
externSA7121H_ConfParamssa7121hPAL[45];
externSA7121H_ConfParamssa7121hNTSC[45];
/*图像句柄的声明*/
VP_HandlevpHchannel0;
VP_HandlevpHchannel1;
VP_HandlevpHchannel2;
/*确定图像的参数*/
intnumPixels=720;
//每行720个像素
intnumLines=576;
//每帧576行(PAL)
/*确定处理的范围*/
/*A*/
/**/
/*D*/
intintAPixels=190;
intintALines=59;
intintDPixels=530;
intintDLines=229;
/*******************/
/*****画矩形边框函数的声明*****/
voiddrawRectangle();
/*Laplacian边缘检测处理*/
voidLaplacianEdge();
/*采集与显示缓冲区的首址*/
Uint32capYbuffer=0x80000000;
Uint32capCbbuffer=0x800675c0;
Uint32capCrbuffer=0x8009b0a0;
Uint32disYbuffer=0x80100000;
Uint32disCbbuffer=0x801675c0;
Uint32disCrbuffer=0x8019b0a0;
Uint32tempSrcYbuffer=0x80200000;
//临时
Uint32tempDisYbuffer=0x80300000;
/*图像格式标志*/
Uint8NTSCorPAL=0;
(1)程序流程图
图3.1图像水平镜像实现总体流程图
程序实现的总体流程图如图所示,首先从主函数进入程序,再对开发板外设进行初始化,接着对中断进行初始化,再进行IIC初始化,接下来等待第一帧数据采集是否完成,若完成进行边缘检测处理,将数据传送入缓冲区,传送完则启动显示模块,此时建立显示实时循环,当采集区数据已经采集好,缓冲区为空时,则写入数据并清理采集及完成标志,在进行图像边缘处理,将数据传送入缓冲区,重复实时循环,直到收到结束信号结束整个程序。
(2)边缘检测算法的核心代码实现
边缘检测是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。
边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间。
因此,它是图像分割所依赖的重要特征,物体的边缘是由灰度不连续性所反映的。
实现代码如下:
/*画矩形边框函数的定义*/
voiddrawRectangle()
{
inti,j;
/*画上边*/
//奇数行
for(i=intALines-4;
i<
intALines;
i++)
{
for(j=intAPixels-6;
j<
intDPixels+6;
j++)
*(Uint8*)(tempDisYbuffer+i*numPixels+j)=0x00;
}
}
//偶数行
for(i=numLines/2+intALines-4;
numLines/2+intALines;
/*画下边*/
//奇数行
for(i=intDLines;
intDLines+4;
i++)
for(i=numLines/2+intDLines;
numLines/2+intDLines+4;
/*画左边*/
for(i=intALines;
intDLines;
intAPixels;
for(i=numLines/2+intALines;
numLines/2+intDLines;
/*画右边*/
for(j=intDPixels;
}
voidLaplacianEdge()
inti,j;
intd1,d2,intTemp;
for(j=intAPixels;
intDPixels;
/*屏幕上奇数行进行处理*/
d1=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 TIDM642 图像 边缘 检测 实现 采用 Laplacian 算子 毕业设计 论文
链接地址:https://www.bdocx.com/doc/17711293.html