CN109903216B - 基于fpga平台实现定位图像点阵提取系统及方法 - Google Patents
基于fpga平台实现定位图像点阵提取系统及方法 Download PDFInfo
- Publication number
- CN109903216B CN109903216B CN201910063859.XA CN201910063859A CN109903216B CN 109903216 B CN109903216 B CN 109903216B CN 201910063859 A CN201910063859 A CN 201910063859A CN 109903216 B CN109903216 B CN 109903216B
- Authority
- CN
- China
- Prior art keywords
- dot matrix
- image
- gray
- generation module
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种基于FPGA平台实现定位图像点阵提取系统,它的点阵生成模块用于按设定像素步长生成特征点,并将特征点与透视变换参数做透视变换,得到相机拍摄图需要的对应的多个粗提取点;数据流生成模块用于形成灰度像元数据流和点阵像元数据流;灰度图点阵生成模块用于将灰度像元数据流和点阵像元数据流在对应的指定矩形像素区域内进行像素统计,并根据像素统计的结果进行质点坐标计算,得到每个指定矩形像素区域图像数据对应的质点坐标,并将每个质点坐标与对应的粗提取点进行坐标补偿运算,得到所需提取的精确灰度图点阵。本发明在满足点阵提取精度的前提下,能够满足点阵提取实时性的要求。
Description
技术领域
本发明涉及机器视觉技术领域,具体涉及一种基于FPGA(Field-ProgrammableGate Array,现场可编程门阵列)平台实现定位图像点阵提取系统及方法。
背景技术
工业检测领域中,处理数据源输入的数据多为工业相机拍摄图像数据。目前,市场上的工业相机拍摄的图像或多或少存在一些变形,这个与工业相机成像原理以及实际应用场景有关。工业检测领域需要对图像某些特征点进行处理,或者需要对图像中某些区域进行精确定位处理,但实际获取的图像已经变形,特征点的形态和位置都发生了不同程度的偏移和变化,在此情况下,就需要对原始获取的相机图像进行处理,进行校正。要对相机进行校正,首先需要对相机的特征点进行标定,目前的标定算法多采用张正友标定法,或者基于张氏标定法的变形或者精简,其中,张正友标定法精度比较高,但是需要采集几十到几百张图片,并且这些图像需要呈现不同的姿态,这个在工业应用上面非常繁琐,很难直接应用。
发明内容
本发明的目的在于提供一种基于FPGA平台实现定位图像点阵提取系统及方法。本发明基于FPGA平台实现灰度图点阵提取,在满足点阵提取精度的前提下,能够满足点阵提取实时性的要求。
为解决上述技术问题,本发明所设计的一种基于FPGA平台实现定位图像点阵提取系统,其特征在于:它包括点阵生成模块、数据流生成模块、灰度图点阵生成模块,所述点阵生成模块用于按设定像素步长生成特征点,并将特征点与透视变换参数做透视变换,得到相机拍摄图需要的对应的多个粗提取点;
数据流生成模块用于以每个粗提取点为中心从相机拍摄的灰度图和点阵图中提取指定矩形像素区域的像元数据,形成灰度像元数据流和点阵像元数据流;
灰度图点阵生成模块用于将灰度像元数据流和点阵像元数据流在对应的指定矩形像素区域内进行像素统计,并根据像素统计的结果进行质点坐标计算,得到每个指定矩形像素区域图像数据对应的质点坐标;
灰度图点阵生成模块还用于将每个质点坐标与对应的粗提取点进行坐标补偿运算,得到所需提取的精确灰度图点阵。
所述数据流生成模块将指定矩形像素区域的像元数据缓冲到数据流生成模块的缓冲器中,然后从缓冲器中按照猝发模式读取数据,从而形成灰度像元数据流和点阵像元数据流(流水线处理方式),灰度像元数据流中的各个灰度像元数据和点阵像元数据流中的各个点阵像元数据均是并行传输。
一种基于FPGA平台实现定位图像点阵提取方法,它包括如下步骤:
步骤1:点阵生成模块按设定像素步长生成特征点,并将特征点与透视变换参数做透视变换,得到相机拍摄图需要的对应的多个粗提取点;
步骤2:数据流生成模块以每个粗提取点为中心从相机拍摄的灰度图和点阵图中提取指定矩形像素区域的像元数据,形成灰度像元数据流和点阵像元数据流;
步骤3灰度图点阵生成模块将灰度像元数据流和点阵像元数据流在对应的指定矩形像素区域内进行像素统计,并根据像素统计的结果进行质点坐标计算,得到每个指定矩形像素区域图像数据对应的质点坐标;
步骤4:灰度图点阵生成模块将每个质点坐标与对应的粗提取点进行坐标补偿运算,得到所需提取的精确灰度图点阵。
本发明的系统基于FPGA平台设计,能够充分利用FPGA并行和流水线处理的优势,将原始图像分块(按矩形像素区域分块)进行处理,这样操作起来,不用每次在整幅图像中搜索特征点,只需要在有效区内进行搜索,本发明通过提取大量特征点,并统计每个特征点周围区域的灰度值(每幅图像的信息就是图像的像素坐标和灰度值,每个坐标有对应的灰度值),能够保证提取点的准确性,同时,基于FPGA平台进行设计,在保证精度的情况下,能够满足实时性要求。另外本发明剔除了传统标定方法的繁琐和应用局限性(传统标定法,需要拍摄很多组图像,而且是不同姿态的拍摄,操作起来很不方便,很难直接进行工业应用),能很好的应用于AOI(Automatic Optic Inspection自动光学检测)检测和Demura修复领域。
附图说明
图1为本发明的结构示意图;
图2为本发明中的点阵标定图;
图3为本发明中的理想点阵图。
其中,1—点阵生成模块、2—数据流生成模块、3—灰度图点阵生成模块、4—参数寄存器、5—双倍速率同步动态随机存储器、6—AXI4-lite总线、7—AXI4总线。
具体实施方式
以下结合具体实施例对本发明作进一步的详细说明:
本发明所设计的基于FPGA平台实现定位图像点阵提取系统,如图1所示,它包括点阵生成模块1、数据流生成模块2、灰度图点阵生成模块3,所述点阵生成模块1用于按设定像素步长生成特征点,如图3所示,并将特征点与透视变换参数做透视变换(PerspectiveTransformation),得到相机拍摄图需要的对应的多个粗提取点;
数据流生成模块2用于以每个粗提取点为中心从相机拍摄的灰度图和点阵图中提取指定矩形像素区域的像元数据,形成灰度像元数据流和点阵像元数据流;
灰度图点阵生成模块3用于将灰度像元数据流和点阵像元数据流在对应的指定矩形像素区域内进行像素统计,并根据像素统计的结果进行质点坐标计算,得到每个指定矩形像素区域图像数据对应的质点坐标(这个质点坐标作为对应粗提取点的补偿偏移点);
灰度图点阵生成模块3还用于将每个质点坐标与对应的粗提取点进行坐标补偿运算(质点与粗提取点通过指定矩形像素区域形成对应关系),得到所需提取的精确灰度图点阵。
上述技术方案中,设定像素步长本实施例中为80个像素,像素步长按照相机分辨率和相机和物体之间成像距离设置,特征点作为需要的样本点,这些样本点本质上是图2每个矩形区(以样本点为中心的,像素80*80的矩形块)的中心点。
上述技术方案中,所述点阵生成模块1用于通过AXI4-lite总线6从参数寄存器4(通过寄存器配置,参数设置灵活,可以进行参数的动态配置)中获取透视变换参数和设定像素步长参数。
上述技术方案中,所述矩形像素区域的行M的取值范围为80~160个像素,矩形像素区域的列N取值范围为80~160个像素。(矩形像素区域M和N的取值范围是素数步长的一倍到两倍之间,这个范围能够保证提取点的精确性)
上述技术方案中,所述数据流生成模块2将指定矩形像素区域的像元数据缓冲到数据流生成模块2的缓冲器中,然后从缓冲器中按照猝发模式读取数据,从而形成灰度像元数据流和点阵像元数据流。该设计是FPGA架构的优势,将数据整合为流水线处理方式(灰度像元数据流和点阵像元数据流),这样将一个长时间占用的任务分割成一个个小的任务,每个任务之间都是并行的,即灰度像元数据流中的各个灰度像元数据和点阵像元数据流中的各个点阵像元数据均是并行的。
上述技术方案中,所述数据流生成模块2用于通过AXI4-lite总线6从参数寄存器4中获取感兴趣区域(ROI,region of interest)参数,并通过感兴趣区域参数(感兴趣区域参数包括块的左上坐标,矩形块的宽和高)来配置指定矩形像素区域,这些感兴趣区域在设计的时候就是图像进行分块的信息,每个感兴趣区对应于图像中的一个块,即依据感兴趣区的信息,去图像中取一个块。
上述技术方案中,相机在设定的曝光条件下,拍摄一张纯白图和一张点阵图,如图2所示,即形成了相机拍摄的灰度图和点阵图,所述相机拍摄的灰度图和点阵图存储在双倍速率同步动态随机存储器5中。双倍速率同步动态随机存储器5中的灰度图通过AXI4总线7中的WhiteImg通道传输给数据流生成模块2,双倍速率同步动态随机存储器5中的点阵图通过AXI4总线7中的GdotImg通道传输给数据流生成模块2。
上述技术方案中,灰度图点阵生成模块3还用于将所需提取的精确灰度图点阵通过AXI4总线7中的GdotPoint通道传输存储到双倍速率同步动态随机存储器5(DDR)中。
上述技术方案中,所述精确灰度图点阵具有精确灰度图点阵中各个点阵点的坐标及各个点阵点坐标对应的灰度值。
上述技术方案中,灰度图点阵生成模块3将每个质点坐标作为对应的各个目标点阵点的偏移坐标,将各个粗提取点坐标与对应目标点阵点的偏移坐标做加法,得到精确灰度图点阵中各个点阵点的坐标,各个点阵点坐标对应的灰度值为对应矩形像素区域的平均灰度值。
本实施例中点阵生成模块1、数据流生成模块2、灰度图点阵生成模块3、参数寄存器4、双倍速率同步动态随机存储器5、AXI4-lite总线6和AXI4总线7均是基于FPGA平台设计。
一种基于FPGA平台实现定位图像点阵提取方法,它包括如下步骤:
步骤1:点阵生成模块1按设定像素步长生成特征点,并将特征点与透视变换参数做透视变换,得到相机拍摄图需要的对应的多个粗提取点;
步骤2:数据流生成模块2以每个粗提取点为中心从相机拍摄的灰度图和点阵图中提取指定矩形像素区域的像元数据,形成灰度像元数据流和点阵像元数据流;
步骤3灰度图点阵生成模块3将灰度像元数据流和点阵像元数据流在对应的指定矩形像素区域内进行像素统计,并根据像素统计的结果进行质点坐标计算,得到每个指定矩形像素区域图像数据对应的质点坐标,这个质点坐标作为对应粗提取点的补偿偏移点;
步骤4:灰度图点阵生成模块3将每个质点坐标与对应的粗提取点进行坐标补偿运算,得到所需提取的精确灰度图点阵。
上述步骤1开始之前,首先需要进行点阵提取系统的软件启动及初始化,并进行寄存器参数配置。
所述步骤3中,质点坐标计算通过如下公式计算:
其中,x′和y′为质点坐标,i的取值范围为(a,b),本实施例设计a=0,b=79,其中j的取值范围为(c,d),本实施例设计c=0,d=79,a、b、c和d的值依据矩形像素区域M*N的大小来决定的,gray(i,j)表示坐标索引i,j处的像素值。本算法是通过设置一个像素阈值(阈值在0~255中根据拍摄光线选择设定,比如拍摄光线好就用5,差就用20,阈值依据是按照Dot图来设置的,Dot图被相机拍摄的图像大部分是黑色的,只有点阵云斑有灰度值,这个阈值就是表示将云斑的灰度值提取出来),然后各个点阵点对应M*N矩形像素区域的像素字取出,与像素阈值进行比较,将大于像素阈值的M*N矩形像素区域中的对应的灰度图像素值作为gray(i,j)进行上述公式计算,得到质点坐标。
灰度图点阵生成模块3通过AXI4-lite总线6从参数寄存器4中获取灰度图点阵的点阵点个数、灰度图点阵的水平和垂直步长,以及上述像素阈值。
所述步骤4中,灰度图点阵生成模块3将每个质点坐标作为对应的各个目标点阵点的偏移坐标,将各个粗提取点坐标与对应目标点阵点的偏移坐标做加法,得到精确灰度图点阵中各个点阵点的坐标,各个点阵点坐标对应的灰度值为对应矩形像素区域的平均灰度值。
本发明能精确提取相机拍摄的特征控制点,用于后级模块进行校正处理。本发明借鉴张氏标定算法,并结合具体工业应用,衍生出来的一种方法。本发明的特征点提取精度直接影响后端模块的校正效果,特征点的提取速度(通过分块,及流水线处理保证了提取速度)直接影响最终整个检测流程的实时性。本发明在FPGA上提取点阵,在满足精度的前提下,能够满足实时性的要求,同时满足精度和实时性的双重指标(本发明的分块处理和流水线处理,是其它方案不具备的,分块处理,数据访问范围变小,乱序访问的区间就变小,速度快,还有块与块之间是流水和并行处理的,这种方式也能够提高速度)。
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种基于FPGA平台实现定位图像点阵提取系统,其特征在于:它包括点阵生成模块(1)、数据流生成模块(2)、灰度图点阵生成模块(3),所述点阵生成模块(1)用于按设定像素步长生成特征点,并将特征点与透视变换参数做透视变换,得到相机拍摄图需要的对应的多个粗提取点;
数据流生成模块(2)用于以每个粗提取点为中心从相机拍摄的灰度图和点阵图中提取指定矩形像素区域的像元数据,形成灰度像元数据流和点阵像元数据流;
灰度图点阵生成模块(3)用于将灰度像元数据流和点阵像元数据流在对应的指定矩形像素区域内进行像素统计,并根据像素统计的结果进行质点坐标计算,得到每个指定矩形像素区域图像数据对应的质点坐标;
灰度图点阵生成模块(3)还用于将每个质点坐标与对应的粗提取点进行坐标补偿运算,得到所需提取的精确灰度图点阵。
2.根据权利要求1所述的基于FPGA平台实现定位图像点阵提取系统,其特征在于:所述点阵生成模块(1)用于从参数寄存器(4)中获取透视变换参数和设定像素步长参数。
3.根据权利要求1所述的基于FPGA平台实现定位图像点阵提取系统,其特征在于:所述矩形像素区域的行M的取值范围为80~160个像素,矩形像素区域的列N取值范围为80~160个像素。
4.根据权利要求1所述的基于FPGA平台实现定位图像点阵提取系统,其特征在于:所述数据流生成模块(2)将指定矩形像素区域的像元数据缓冲到数据流生成模块(2)的缓冲器中,然后从缓冲器中按照猝发模式读取数据,从而形成灰度像元数据流和点阵像元数据流,灰度像元数据流中的各个灰度像元数据和点阵像元数据流中的各个点阵像元数据均是并行传输。
5.根据权利要求1或4所述的基于FPGA平台实现定位图像点阵提取系统,其特征在于:所述数据流生成模块(2)用于从参数寄存器(4)中获取感兴趣区域参数,并通过感兴趣区域参数来配置指定矩形像素区域。
6.根据权利要求1所述的基于FPGA平台实现定位图像点阵提取系统,其特征在于:所述相机拍摄的灰度图和点阵图存储在双倍速率同步动态随机存储器(5)中。
7.根据权利要求1所述的基于FPGA平台实现定位图像点阵提取系统,其特征在于:灰度图点阵生成模块(3)还用于将所需提取的精确灰度图点阵存储在双倍速率同步动态随机存储器(5)中。
8.根据权利要求1所述的基于FPGA平台实现定位图像点阵提取系统,其特征在于:所述精确灰度图点阵具有精确灰度图点阵中各个点阵点的坐标及各个点阵点坐标对应的灰度值。
9.根据权利要求8所述的基于FPGA平台实现定位图像点阵提取系统,其特征在于:灰度图点阵生成模块(3)将每个质点坐标作为对应的各个目标点阵点的偏移坐标,将各个粗提取点坐标与对应目标点阵点的偏移坐标做加法,得到精确灰度图点阵中各个点阵点的坐标,各个点阵点坐标对应的灰度值为对应矩形像素区域的平均灰度值。
10.一种基于FPGA平台实现定位图像点阵提取方法,其特征在于,它包括如下步骤:
步骤1:点阵生成模块(1)按设定像素步长生成特征点,并将特征点与透视变换参数做透视变换,得到相机拍摄图需要的对应的多个粗提取点;
步骤2:数据流生成模块(2)以每个粗提取点为中心从相机拍摄的灰度图和点阵图中提取指定矩形像素区域的像元数据,形成灰度像元数据流和点阵像元数据流;
步骤3灰度图点阵生成模块(3)将灰度像元数据流和点阵像元数据流在对应的指定矩形像素区域内进行像素统计,并根据像素统计的结果进行质点坐标计算,得到每个指定矩形像素区域图像数据对应的质点坐标;
步骤4:灰度图点阵生成模块(3)将每个质点坐标与对应的粗提取点进行坐标补偿运算,得到所需提取的精确灰度图点阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910063859.XA CN109903216B (zh) | 2019-01-23 | 2019-01-23 | 基于fpga平台实现定位图像点阵提取系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910063859.XA CN109903216B (zh) | 2019-01-23 | 2019-01-23 | 基于fpga平台实现定位图像点阵提取系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109903216A CN109903216A (zh) | 2019-06-18 |
CN109903216B true CN109903216B (zh) | 2022-12-23 |
Family
ID=66944085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910063859.XA Active CN109903216B (zh) | 2019-01-23 | 2019-01-23 | 基于fpga平台实现定位图像点阵提取系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109903216B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4669048A (en) * | 1984-09-14 | 1987-05-26 | Carl-Zeiss-Stiftung | Computer-controlled evaluation of aerial stereo images |
CN103164702B (zh) * | 2011-12-13 | 2016-09-28 | 北京慧眼智行科技有限公司 | 标记中心点提取方法、装置及图像处理系统 |
RU2506536C2 (ru) * | 2012-04-09 | 2014-02-10 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МЭИ" | Способ субпиксельного контроля и слежения за перемещением удаленного объекта |
CN107341760A (zh) * | 2017-06-27 | 2017-11-10 | 北京计算机技术及应用研究所 | 一种基于fpga的低空目标跟踪系统 |
-
2019
- 2019-01-23 CN CN201910063859.XA patent/CN109903216B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109903216A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10542208B2 (en) | Systems and methods for synthesizing high resolution images using image deconvolution based on motion and depth information | |
US10515271B2 (en) | Flight device and flight control method | |
CN109074657B (zh) | 一种目标跟踪方法、装置、电子设备和可读存储介质 | |
CN110866486B (zh) | 主体检测方法和装置、电子设备、计算机可读存储介质 | |
CN104760812B (zh) | 基于单目视觉的传送带上产品实时定位系统和方法 | |
CN110889829A (zh) | 一种基于鱼眼镜头的单目测距方法 | |
US20140161357A1 (en) | Image processing apparatus with function of geometrically deforming image, image processing method therefor, and storage medium | |
CN112700502B (zh) | 双目相机系统和双目相机空间标定方法 | |
CN109559353A (zh) | 摄像模组标定方法、装置、电子设备及计算机可读存储介质 | |
KR20230110618A (ko) | 영상 보정 방법, 장치 및 시스템, 전자 장치 | |
CN110490196A (zh) | 主体检测方法和装置、电子设备、计算机可读存储介质 | |
CN112132900A (zh) | 一种视觉重定位方法及系统 | |
CN111179184A (zh) | 基于随机抽样一致性的鱼眼图像有效区域提取方法 | |
KR20160001868A (ko) | 카메라에서 촬영된 영상의 왜곡을 보정하기 위한 영상 왜곡 보정 방법 | |
CN109903216B (zh) | 基于fpga平台实现定位图像点阵提取系统及方法 | |
CN110689007B (zh) | 主体识别方法和装置、电子设备、计算机可读存储介质 | |
CN110378964B (zh) | 一种摄像机外参标定方法及装置、存储介质 | |
CN108520499B (zh) | 一种基于白带显微成像的图像偏移矫正方法 | |
US20220232173A1 (en) | Method and device of image processing, imaging system and storage medium | |
US11699303B2 (en) | System and method of acquiring coordinates of pupil center point | |
CN112613372B (zh) | 一种室外环境视觉惯性slam方法及装置 | |
CN115601275A (zh) | 点云增广方法及装置、计算机可读存储介质、终端设备 | |
CN114943729A (zh) | 一种高分辨率细胞图像的细胞计数方法及系统 | |
CN108088441A (zh) | 一种星敏感器星点图像在轨实时下传系统及方法 | |
CN110610171A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |