System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA的连通域激光光斑检测方法技术_技高网

一种基于FPGA的连通域激光光斑检测方法技术

技术编号:40669144 阅读:4 留言:0更新日期:2024-03-18 19:04
一种基于FPGA的连通域激光光斑检测方法,属于图像处理技术领域。本发明专利技术通过C语言,利用HLS工具转换成VHDL硬件描述语言在FPGA中实现,采用一遍扫描法,按行扫描,将同一个连通区域的像素标定为连通,同时将具有相等关系的连通域合并,找到连通像元个数最多的连通域,即为要找的光斑。本发明专利技术可用于对光斑进行快速准确的检测定位,基于软硬协同的思想,利用HLS工具实现,设计周期短,提高设计效率,同时采用流水线设计,减少连通域光斑检测的时钟周期个数。

【技术实现步骤摘要】

本专利技术涉及一种基于fpga的连通域激光光斑检测方法,属于图像处理,具体涉及一种用于航天遥感相机中连通域激光光斑检测方法。


技术介绍

1、随着航天遥感相机图像处理技术的增强,对于图像中目标检测技术得到广泛应用,其中基于连通域的检测技术具有检测精度高的特点。基于连通域的激光光斑检测属于图像目标检测的一种,其原理是将航天遥感相机采集的图像通过连通域检测,对像元连通个数进行统计,通过连通域特征判断是否是激光光斑。

2、当前的连通域激光光斑检测方法大多是基于地面pc机,而航天遥感相机星上实时图像处理一般采用fpga实现,连通域光斑检测算法由于算法复杂,程序分支多,需要遍历扫描等操作,这些操作在fpga中实现难度极大,开发周期长,占用时钟个数多。


技术实现思路

1、本专利技术解决的技术问题是:克服现有技术的不足,提供了一种基于fpga的连通域激光光斑检测方法,该方法采用一遍扫描法,基于软硬协同的思想,通过c语言实现,利用hls工具转换成vhdl硬件描述语言在fpga中实现,同时采用流水线设计,缩短光斑检测的时间,调高效率,解决了航天遥感相机扫描光斑占用时钟周期个数多,开发周期长的问题,能够实现星上实时图像处理。

2、本专利技术的技术解决方案是:一种基于fpga的连通域激光光斑检测方法,通过c语言,利用hls工具转换成vhdl硬件描述语言在fpga中实现,包括:

3、对图像进行逐行遍历扫描,首先对像元进行二值化处理,然后根据像元所处行、列以及像元数值确定连通域,当遍历的像元位于第一行时,根据当前像元数值与当前像元左侧的像元数值确定连通域;当遍历的像元位于第一列时,根据当前像元数值与当前像元上侧的像元数值确定连通域;当遍历的像元既不属于第一行像元也不属于第一列像元时,根据当前像元数值与当前像元左侧或上侧的像元数值确定连通域;

4、当且仅当遍历完成时,记录每一个连通域的像元连通个数和每个连通域左上角的坐标;找到连通像元个数最多的连通域,且该连通域同时满足连通的行数、列数均大于设置值,即为要找的激光光斑,该连通域的坐标即为激光光斑左上角的坐标。

5、进一步地,所述对像元进行二值化处理的方式为:将图像像素值大于第一预设阈值的像元数值设置为1,小于第一预设阈值的像元数值设置为0。

6、进一步地,所述根据当前像元数值与当前像元左侧的像元数值确定联通域的方法为:如果当前像元数值data[i,j]二值化后等于1,且左侧像元数值data[i,j-1]二值化后等于0,则为该像元定义一个新连通域编号;如果当前像元数值data[i,j]二值化后等于1,且左侧像元data[i,j-1]二值化后等于1,则将当前像元连通域标记为左侧像元连通域编号。

7、进一步地,所述根据当前像元数值与当前像元上侧的像元数值确定联通域的方法为,如果当前像元数值data[i,j]二值化后等于1,且上侧像元数值data[i-1,j]二值化后等于0,则为当前像元定义一个新连通域编号;如果当前像元数值data[i,j]二值化后等于1,且上侧像元数值data[i-1,j]二值化后等于1,则将当前像元连通域标记为上侧像元连通域编号。

8、进一步地,所述根据当前像元数值与当前像元左侧或上侧的像元数值确定连通域的方法为:

9、如果当前像元数值data[i,j]二值化后等于1,且左侧像元data[i,j-1]二值化后等于0,上侧像元data[i-1,j]二值化后等于0,则为当前像元定义一个新连通域;

10、如果当前像元数值data[i,j]二值化后等于1,且左侧像元data[i,j-1]二值化后等于0,上侧像元data[i-1,j]二值化后等于1,则将当前像元连通域标记为上侧像元连通域编号;

11、如果当前像元数值data[i,j]二值化后等于1,且左侧像元data[i,j-1]二值化后等于1,上侧像元data[i-1,j]二值化后等于0,则将当前像元连通域标记为左侧像元连通域编号;

12、如果当前像元数值data[i,j]二值化后等于1,左侧像元data[i-1,j]二值化后等于1,上侧像元data[i,j-1]二值化后等于1,上侧像元连通域编号为m1,左侧像元连通域编号为m2;如果m1<m2,则将当前像元连通域标记为m1,并且将左侧像元连通域编号改为m1,即m1和m2合并;如果m1>m2,则将当前像元连通域标记为m2,并且将上侧像元连通域编号改为m2,即m1和m2合并;如果m1=m2,则将当前像元连通域编号标记为m1。

13、进一步地,所述检测方法用于航天遥感相机中连通域激光光斑检测。

14、本专利技术与现有技术相比的优点在于:

15、(1)本专利技术基于软硬件协同思想,采用hls实现,缩短了开发周期;

16、(2)本专利技术通过hls工具中的流水线工具,实现流水线设计,减少光斑检测占用的时钟周期数,达到快速检测的目的;

17、(3)本专利技术通过设置连通域是否同时满足连通的行数、列数均大于设置值的判断条件,自动判断删除探测器坏行或者坏列造成的误检测,从而能提高光斑检测的可靠性。

本文档来自技高网...

【技术保护点】

1.一种基于FPGA的连通域激光光斑检测方法,通过C语言,利用HLS工具转换成VHDL硬件描述语言在FPGA中实现,其特征在于,

2.根据权利要求1所述的一种基于FPGA的连通域激光光斑检测方法,其特征在于,所述对像元进行二值化处理的方式为:将图像像素值大于第一预设阈值的像元数值设置为1,小于第一预设阈值的像元数值设置为0。

3.根据权利要求2所述的一种基于FPGA的连通域激光光斑检测方法,其特征在于,所述根据当前像元数值与当前像元左侧的像元数值确定联通域的方法为:如果当前像元数值data[i,j]二值化后等于1,且左侧像元数值data[i,j-1]二值化后等于0,则为该像元定义一个新连通域编号;如果当前像元数值data[i,j]二值化后等于1,且左侧像元data[i,j-1]二值化后等于1,则将当前像元连通域标记为左侧像元连通域编号。

4.根据权利要求2所述的一种连通域激光光斑检测方法,其特征在于,所述根据当前像元数值与当前像元上侧的像元数值确定联通域的方法为,如果当前像元数值data[i,j]二值化后等于1,且上侧像元数值data[i-1,j]二值化后等于0,则为当前像元定义一个新连通域编号;如果当前像元数值data[i,j]二值化后等于1,且上侧像元数值data[i-1,j]二值化后等于1,则将当前像元连通域标记为上侧像元连通域编号。

5.根据权利要求2所述的一种基于FPGA的连通域激光光斑检测方法,其特征在于,所述根据当前像元数值与当前像元左侧或上侧的像元数值确定连通域的方法为:

6.根据权利要求1所述的一种基于FPGA的连通域激光光斑检测方法,其特征在于,所述检测方法用于航天遥感相机中连通域激光光斑检测。

...

【技术特征摘要】

1.一种基于fpga的连通域激光光斑检测方法,通过c语言,利用hls工具转换成vhdl硬件描述语言在fpga中实现,其特征在于,

2.根据权利要求1所述的一种基于fpga的连通域激光光斑检测方法,其特征在于,所述对像元进行二值化处理的方式为:将图像像素值大于第一预设阈值的像元数值设置为1,小于第一预设阈值的像元数值设置为0。

3.根据权利要求2所述的一种基于fpga的连通域激光光斑检测方法,其特征在于,所述根据当前像元数值与当前像元左侧的像元数值确定联通域的方法为:如果当前像元数值data[i,j]二值化后等于1,且左侧像元数值data[i,j-1]二值化后等于0,则为该像元定义一个新连通域编号;如果当前像元数值data[i,j]二值化后等于1,且左侧像元data[i,j-1]二值化后等于1,则将当前像元连通域标记为...

【专利技术属性】
技术研发人员:崔雪楠李硕王蕴龙刘琦周志娟于庆盛申一伟杨明明于栋黄义万旻成桂梅王丽超
申请(专利权)人:北京空间机电研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1