新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于DSP和FPGA的机器视觉系统设计与实现

基于DSP和FPGA的机器视觉系统设计与实现

作者:时间:2013-12-21来源:网络收藏
层设备使用BROADCOM公司的BCM5221,加Pulse公司的1:1型隔离变压器H1102。

  网络图像及控制信息的传输采用非面向连接的UDP协议,对于480*480大小的8位灰度的图像,每秒可传送20幅。

  2.5 IO模块与串行接口模块

  IO接口由控制,用于向机械部分、自动控制部分发送控制信号,并行IO接口有两路,一路经LV162245驱动输出,一路经光耦进行隔离输出。

  串行接口使用TI公司的TL16C752B UART,他与ST16C550 UART引脚兼容,并具有更大的发送、接收FIFO缓存(发送、接收各64Byte ),支持硬件、软件流量控制。电平转换采用MAXIM公司的MAX3160,RS-232、RS-485、RS-422等多种传输协议。

  3、实现图像预处理算法

  以实现3*3 Sobel边缘检测为例,介绍FPGA实现图像预处理的方法。

  首先,应从视频信号中提取出3*3 大小的图像框。须使用三个FIFO,其大小与一行像素大小相同,将三个FIFO串行连接在一起。用视频信号的前三行充满三个FIFO,之后每来一个像素在写入FIFO的同时,从每个FIFO中读出一个像素的亮度值,分别放入三个移位寄存器。如此,在三个像素点之后就得到一个3*3的矩形框。随着视频信号的不断流入,矩形框将遍历整个图像区域。

  之后,就可以对提取出来的像素点,进行各种算法的处理。

  以下是用Verilog语言描述的3*3 Sobel算子:

  wire[10:0] temp1,temp2,temp3,temp4;

  wire[7:0] sobel1,sobel2,sobel3,sobel4;

  wire[7:0] dataout;

  assign temp1 = temp[1] + temp[2] + temp[3];

  assign temp2 = temp[7] + temp[8] + temp[9];

  assign temp3 = temp[1] + temp[4] + temp[7];

  assign temp4 = temp[3] + temp[6] + temp[9];

  assign sobel1 = (temp1>temp2)?(temp1-temp2):0 ;

  assign sobel2 = (temp3>temp4)?(temp3-temp4):0 ;

  assign sobel3 = (sobel1>8’d 255) ? 8’d255 : sobel1;

  assign sobel4 = (sobel2>8’d 255) ? 8’d255 : sobel2;

  assign dataout[7:0] = ((sobel3 > sobel4)?sobel3[7:0]:sobel4[7:0]);

fpga相关文章:fpga是什么




关键词: DSP FPGA 机器视觉

评论


相关推荐

技术专区

关闭