[发明专利]一种空间标志物动态坐标实时捕捉相机有效
申请号: | 201710322435.1 | 申请日: | 2017-05-11 |
公开(公告)号: | CN107231535B | 公开(公告)日: | 2020-02-18 |
发明(设计)人: | 李明伟;毕明军 | 申请(专利权)人: | 大连理工大学 |
主分类号: | H04N5/374 | 分类号: | H04N5/374 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 梅洪玉 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 空间 标志 动态 坐标 实时 捕捉 相机 | ||
1.一种空间标志物动态坐标实时捕捉方法,其特征在于包括以下步骤:
步骤一,CMOS图像传感器电路连接
FPGA通过IIC总线的SCLK时钟和SDATA数据信号向将CMOS图传感器的寄存器中写入设置的参数;包括工作模式、图像和增益的大小等设置;FPGA还向传感器提供12.5MHz的主输入时钟EXTCLK,然后通过传感器的片上锁相环倍频成96MHz的像素时钟PIXCLK;FPGA还要为其提供曝光触发信号TRIGGER,用来控制图像帧率,当TRIGGER为低电平时,就会触发一帧图像,低电平时间的长短决定曝光时间的长短;图像传感器把输出的图像数据DOUT、输出像素时钟PIXCLK、帧有效信号FV和行有效信号LV等信号传输到FPGA上;通过两排插针将FPGA与CMOS图像传感器连接起来;
步骤二,FPGA图像处理模块对数据进行并行处理
FPGA的图像输入接口模块接收来自图像传感器的输出信号;FPGA的图像处理模块一边对图像数据进行均值滤波,把滤波后的数据输出到切换模块,一边并行处理提取出动态标志物的边缘坐标数据,过程如下:
(1)首先对图像中的像素灰度值进行二值化处理;将每帧图像中的所有像素的灰度值都分别与阈值进行比较;比阈值大,置为1,否则为0;定义一个4位wire型变量mark_state,用来表示四个连续像素的二值化后的结果;
(2)当mark_state的值为4'b0001,当前的图像列坐标为左边缘坐标x1;当mark_state的值为4'b1110时,当前图像的列坐标为右边缘坐标x2,当前的行坐标为纵坐标y;把这三个数据写成数据段(x1,x2,y)的形式;
(3)检测到右边缘时把双口块RAM1的写使能信号BRAM_WEN置为1,开始向双口块RAM1输入数据信号BRAM_DATA中依次写入x1、x2和y;然后把BRAM_WEN置0;重复检测右边缘,直到把整帧图像中所有动态标志物的边缘坐标数据全部检测出来;并且把所有的数据段数据存入双口块RAM1中;
步骤三,MicroBlaze嵌入式软核与FPGA的数据交换
DDR3作为MicroBlaze的内存,缓存从双口块RAM1中读取的数据段;DDR3通过多端口内存控制器MPMC连接到MicroBlaze内核;MicroBlaze软核通过双口块RAM控制器来读写双口块RAM;MicroBlaze通过双口块RAM1的控制器从双口块RAM1读取边缘坐标数据;MicroBlaze通过双口块RAM2的控制器向双口块RAM2写入动态标志物的质心坐标数据;双口块RAM1和双口块RAM2都是用一个端口用来读,另一个端口用来写;双口块RAM1的端口A是写入边缘坐标数据的端口,与FPGA图像处理模块相连;双口块RAM1的端口B是读出边缘坐标数据的端口,与双口块RAM1控制器的输入信号端口相连;双口块RAM2端口A是写入动态标志物的质心坐标数据的端口,与双口块RAM2控制器的输出信号端口相连;双口块RAM2的端口B是读出质心坐标数据的端口,也与切换模块相连;
在MicroBlaze中通过读数据函数XIo_In32读取出双口块RAM1中的所有边缘坐标数据存储到DDR3中;MicroBlaze软核连通域快速检测计算,遍历一次DDR3中的边缘坐标数据段,将计算出的动态标志物的质心坐标存储到DDR3中,再通过写数据函数XIo_Out8将坐标计算结果写入到双口块RAM2中。
2.如权利要求1所述的一种空间标志物动态坐标实时捕捉方法,其特征在于,MicroBlaze软核中连通域的快速检测计算的具体步骤如下:
(1)对一些数据进行初始化,total表示一共有多少个数据段;i表示计数数据段的个数,初始化为1,即从第一个数据段开始判断;n表示当前一共有多少个动态标志物连通域,初始化为1;j表示当前判断的是第几个动态标志物的连通域;初始为1;row_num[j]表示第j个动态标志物占有多少行,初始化为1;mark_num表示一共计算了多少个动态标志物的质心坐标;初始化为0;
(2)判断当前数据段个数i是否小于等于total;若不满足条件,依次计算出当前n个动态标志物质心坐标,再把mark_num与n和的值赋给mark_num,结束一帧图像所有动态标志物的坐标计算;若满足条件,则对j赋初值1,即对当前已有的n个连通域逐一进行判断;
(3)判断j是否小于等于n,不满足,说明第i个数据段不在当前的n个动态标志物连通域内,而在一个新的连通域内,增加当前连通域的个数,将n的值加1;计算第n个新连通域在x和y方向上的像素,再把i的值加1,对下一个数据段进行循环判断;直到i的值大于total,计算出整帧动态标志物质心坐标;
(4)若j小于等于n,则判断第i个数据段是否在第j个动态标志物的连通域内,若满足,把第j个连通域在x和y方向上的像素坐标分别累加;再把row_num[j]加1,变量i加1,对下一个数据段进行循环判断,直到i大于total;
(5)当第i个数据段不属于第j个动态标志物的连通域时,判断是否隔行;
1)隔行,即当前数据段的纵坐标数据与第j个连通域的最后一行纵坐标数据的差值大于2,则后面的数据段都不在第j个连通域内,因此计算出第j个连通域的质心坐标,mark_num个数累加1;删除第j个连通域,用后一个(第j+1)连通域的数据覆盖掉前一个(第j个)连通域的数据,直到用最后一个(第n个)连通域覆盖掉第n-1个连通域的数据;连通域个数n减1;计算j减1后,再用j加1,即判断当前第i个数据段是否在当前第j个动态标志物的连通域内;
2)不隔行,直接判断当前第i个数据段是否在下一个动态标志物的连通域,计算j=j+1,对下一个连通域进行判断;继续循环判断,直到i大于total。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710322435.1/1.html,转载请声明来源钻瓜专利网。