当前位置:
文档之家› 第12章 图像边缘检测器的设计与
第12章 图像边缘检测器的设计与
图12.2 图像处理系统接口关系图
第12章
图像边缘检测器的设计与分析
12.2 系统设计方案
12.2.1 算法选择 图像处理经常用于在连续图像中跟踪移动物体。 它从传感器接收图像的连续流,根据输入图像的数据 选择跟踪物体。初始图像不断被加强,然后进行分割, 以定位物体或找出感兴趣的区域。定位物体或区域后,
像的边界处理。 MAGOUT:像素边界判别信号输出,MAGOUT
为1时,表示当前像素为边界像素,为0表示为非边界
像素。
第12章
图像边缘检测器的设计与分析
CCD
Driver
D8~D15
D0~D7 WR
INT0
DATA WR READY FLEX10K20 CLK T_D CS MAGOUT
TMS320C5402 CLKOUT Executor (Buffered Serial Port) BSP A14 A15
拟选用FIFO,堆栈空时向主机发出准备好信号,主机
检测到它的数据传输请求时,传送一帧数据,由于 FIFO的大小与一帧图像的大小是一致的,所以接收完
毕后,堆栈满,Sobel处理器启动边缘检测进程,处理
完一帧数据后,堆栈重新变为空,为下一帧数据处理 作准备。其内部结构如图12.6所示。
第12章
图像边缘检测器的设计与分析
帧窗口接收模块(FIFO)负责接收DSP传送过来的一
个帧窗口的数据,其本质为一个双端口先入先出栈 FIFO,其数据宽度为8,深度等于一个帧窗口内的像素
点个数(600×3=1800)。
第12章
图像边缘检测器的设计与分析
串入并出模块(SIPO)负责把FIFO内的数据转换成 为像素处理窗口的列像素向量,便于像素处理窗口的
数据刷新处理。
像素窗口刷新模块(REFRESH)实现对需要处理的 像素数据的刷新。
数据处理模块(PROCESSOR)是本图形边缘处理器
的核心部分,主要是实现Sobel算法,其性能的好坏对 整个设计的成败有着关键的作用。
第12章
图像边缘检测器的设计与分析
REG1 T_D DATA 8 WR CLK FIFO DATA REG2 WR READY Q SIPO PIXEL CLK QA QB QC REFRESH Q0 Q1 DATA0 Q2 DATA1 Q3 Q5 DATA2 Q6 Q7 CLK Q8 PROCESSOR THRESHOLD Q0 Q1 Q2 Q3 MAGOUT Q5 Q6 Q7 Q8 CLK
READY
CLK PROCESS_EN CNT3 CO CLK
MAGOUT
图12.5 图像边缘检测器总体结构图
第12章
图像边缘检测器的设计与分析
12.2.4 主要功能模块的设计
1. 帧窗口接收模块FIFO 由于高速设备与慢速设备之间处理速度的差别, 它们之间的数据传输一般采用查询方式或中断方式, 而数据同步传输则选择了帧同步方式。存储器的类型
第12章
图像边缘检测器的设计与分析
DATA0 D
Q
D
Q
D
Q
DATA1 D
Q
D
Q
D
Q
DATA2 D
Q
D
Q
D
Q
CLK Q2 Q1Q0 Q5 Q3 Q8Q7Q6
图12.8 像素刷新模块REFRESH的内部结构图
第12章
图像边缘检测器的设计与分析
4.滤波模块FILTER
对于Sobel算法的各个滤波器,H、V、DR、DL经 变换后可得到: H=(Q0+Q3+Q3+Q6) ? (Q2+Q5+Q5+Q8); V=(Q0+Q1+Q1+Q2) ? (Q6+Q7+Q7+Q8) DR=(Q1+Q0+Q0+Q3)?(Q5+Q8+Q8+Q7); DL=(Q1+Q2+Q2+Q5)? (Q3+Q6+Q6+Q7) 因此我们对于滤波模块FILTER的设计可采用两级
第12章
图像边缘检测器的设计与分析
Q0 Q3 Q6 Q2 Q5 Q8 Q0 Q1 Q2 Q6 Q7 Q8 Q1 Q0 Q3 Q5 Q8 Q7 Q1 Q2 Q5 Q3 Q6 Q7
V=(Q0+2Q1+Q2) ? (Q6+2Q7+Q8) DR=(Q1+2Q0+Q3) ? (Q5+2Q8+Q7); DL=(Q1+2Q2+Q5) ? (Q3+2Q6+Q7) Magnitude=Max(H, V, DR, DL)
第12章
图像边缘检测器的设计与分析
为了减少设计的复杂度,上面式子中的乘法运算 可以改写成加法运算: H=(Q0+Q3+Q3+Q6) ? (Q2+Q5+Q5+Q8); V=(Q0+Q1+Q1+Q2) ? (Q6+Q7+Q7+Q8) DR=(Q1+Q0+Q0+Q3)?(Q5+Q8+Q8+Q7);
FIFO WR DATA WR Data_ o u t RD Emp ty Data_ in CLK* 2 CLK CLKCO COUNTER2 CLK Fu ll Q
VCC DCLR Q CLK
READY
PROCESS_ EN
图12.6 帧窗口接收模块FIFO的内部结构图
第12章
图像边缘检测器的设计与分析
DL=(Q1+Q2+Q2+Q5)? (Q3+Q6+Q6+Q7)
第12章
图像边缘检测器的设计与分析
12.2.3 总体设计方案 根据图像处理的知识及分析,我们可得到此边缘检
测处理器的工作流程如图12.4所示。首先,DSP将从图
像传感器中获取的灰度图(800×600)按照每三列划分为 一帧的原则进行帧窗口划分。帧窗口的图形数据又按照
每三行划分为一个像素处理窗口的原则逐一进器的设计与分析
…
水平滤波器 存储器 缓 冲 像素处 理窗口 垂直滤波器 左斜角滤波器 右斜角滤波器 输出处 理模块
图12.4 图像处理流程示意图
…
第12章
图像边缘检测器的设计与分析
根据以上设计思路,我们可把整个系统的实现划 分为四个大的模块,其总体结构如图12.5所示。其中:
SUM(I)=A(I) XOR B(I) XOR C(I?1) C(I)=(A(I) AND B(I) ) OR (A(I) XOR B(I) AND C(I?1) 令 P(I)=A(I) XOR B(I); G(I)= A(I) AND B(I)
第12章
图像边缘检测器的设计与分析
其中P(I)、G(I)均与进位信号无关,则SUM(I)与C(I) 可表达为
并行流水方案,其内部结构如图12.9所示。
第12章
图像边缘检测器的设计与分析
CLKQA(Q0) QB(Q3) QC(Q6) QD(Q2) QE(Q5) QF(Q8) + D0 Q0 + D0 Q0 - FILTER(H_FILTER) Q1 + D1 Q1 + D2 Q2 + D1 + D3 Q3
第12章
图像边缘检测器的设计与分析
T_D:阈值/像素值选择端口,T_D =1时,表示输
入的数据为像素阈值,为0时表示输入的数据为像素值。 CS:片选信号,低电平有效。 READY:状态查询位,为协处理器“准备好”信 号输出端,低电平有效,当该协处理器处理完一帧图
像后,该信号恢复有效电平,主处理器启动下一帧图
2.串入并出模块SIPO 串入并出模块的主要功能是负责一列像素的刷新, 也就是把主处理器传送过来的像素值转换成3×3像素 窗口的一列。该模块的实现主要是通过六个D触发器和 一个三进制的计数器组成,当计数器产生进位溢出时, 串行输入的三个像素点并行输出。其内部结构如图12.7 所示。
第12章
图像边缘检测器的设计与分析
图12.9 滤波模块FILTER的内部结构图
第12章
图像边缘检测器的设计与分析
对于上述滤波数据的处理,在不采用流水线的情 况下,像素从进入处理器到结果输出,需要经过两级 加法和一级减法的时延,但是使用流水线技术后(其本 质为对中间结果进行寄存),结果输出仅仅滞后三个时 钟频率,但是增加了数据吞吐量,同时也提高了时钟 频率。为提高加法运算的速度,本设计中的加法器采 用超前进位加法器。下面对其作一个简单的回顾:
PIXEL
D
Q
D
Q
D
Q
CLK D COUNTER3 Q Q Q D D
QA
QB
QC
图12.7 串入并出模块SIPO的内部结构图
第12章
图像边缘检测器的设计与分析
3.像素窗口刷新模块REFRESH 像素刷新窗口的主要功能是接收串入并出模块的3
个并行像素,把窗口中原有的第二列像素推入第三列,
第一列推入第二列,新到的并行像素填入第一列。其 本质为一个移位寄存器。其内部结构如图12.8所示。
图像边缘检测器的设计与分析
Q0 Q1 Q2
Q3 [i , j ] Q5
Q6 Q7 Q8
图12.3 像素窗
第12章
图像边缘检测器的设计与分析
水平、垂直、左对角、右对角各图像方向上密度
幅度的变化可以用如下算子进行计算: H=(Q0+2Q3+Q6) ? (Q2+2Q5+Q8) V=(Q0+2Q1+Q2) ? (Q6+2Q7+Q8) DR=(Q1+2Q0+Q3) ? (Q5+2Q8+Q7)