基于FPGA的线阵CCD子图像提取模块的设计与仿真.doc
《基于FPGA的线阵CCD子图像提取模块的设计与仿真.doc》由会员分享,可在线阅读,更多相关《基于FPGA的线阵CCD子图像提取模块的设计与仿真.doc(3页珍藏版)》请在三一文库上搜索。
1、基于FPGA的线阵CCD子图像提取模块的设计与仿真0 引言在工业生产自动化系统中,通过计算机视觉和图像处理技术来实现产品的质量监测和控制,已逐渐成为一种有效的应用技术。线阵CCD 图像传感器广泛地应用于产品尺寸测量和分类、非接触尺寸测量、条形码、形态识别等众多领域。在图像检测系统中,应具备一个高速的子图像提取和输出模块,本文采用FPGA 器件EP3C25F256C8 和CCD 线阵图像传感器RL1024P,实现线阵CCD 图像检测系统中的子图像提取和输出功能。1 子图像提取模块的设计子图像提取模块的功能可描述为:采用FPGA 器件实现,根据串行输入的黑白图像和同步信号,提取该图像中设定尺寸大小
2、的子图像。假设输入图像大小为i * j,某一像素点的坐标位置为(X,Y),要取出子图像的大小为m * n,则用c 代码描述为:for(b=0;bj ; b+)for (a=0;ai; a+) / 取出Xa,Yb 到 Xa+m,Yb+n 的子图像; 根据系统设计的要求,线阵CCD 图像采集模块采用串行的方式输出11024 像素的一行图像,子图像提取模块接收该图像数据、缓冲、再输出1616 像素的子图像。子图像提取模块的外部端口,如图1 所示。主要信号有:像素同步时钟信号CCD_CLK、像素数据CCD_DATA、当前输入像素的坐标CCD_ADDR90 ;另外,N_RST 和SYS_CLK 为系统提
3、供的复位信号和处理时钟信号。其中,每个CCD_CLK 的上升沿出现时CCD_DATA 像素有效,且该像素所在的位置为CCD_ADDR90 值。为了实现每个CCD_CLK 周期内均输出一个子图像,SYS_CLK应该为CCD_CLK 的10 倍左右。本文采用图像转置缓冲区的方法来实现子图像提取模块。图像转置缓冲区是一个按行写入(更新)、按列读出的一个RAM 缓冲区。在FPGA 内部设置一个1024 个单元的RAM 缓冲区,每个单元的位宽为16bits.线阵CCD 采集模块输出的线阵图像与子图像的关系,如图2 所示。其中,第0 行表示图像的当前行,第N 行为历史行,每行有1024 个像素,按照p0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA CCD 图像 提取 模块 设计 仿真
链接地址:https://www.31doc.com/p-3410522.html