CN115393172B - 基于gpu实时提取光条纹中心的方法及设备 - Google Patents
基于gpu实时提取光条纹中心的方法及设备 Download PDFInfo
- Publication number
- CN115393172B CN115393172B CN202211030787.7A CN202211030787A CN115393172B CN 115393172 B CN115393172 B CN 115393172B CN 202211030787 A CN202211030787 A CN 202211030787A CN 115393172 B CN115393172 B CN 115393172B
- Authority
- CN
- China
- Prior art keywords
- light stripe
- kernel
- center
- function
- gpu
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000011159 matrix material Substances 0.000 claims abstract description 11
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 61
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000005315 distribution function Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 17
- 238000012545 processing Methods 0.000 abstract description 11
- 230000001133 acceleration Effects 0.000 abstract description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明公开了基于GPU实时提取光条纹中心的方法和设备,所述方法包括以下步骤:S1、初始化OpenCL内核环境;S2、通过图像预处理得到图像中光条纹的感兴趣区域ROI,得到图像中光条纹的最大宽度;S3、检测光条纹中心;S4、释放S1中初始化的OpenCL内核环境;本发明通过开放运算语言OpenCL,利用图形处理单元GPU擅长并行数据处理的优势,完成基于Hessian矩阵的Steger算法在异构架构下的并行加速,实现了Steger算法实时性检测光条纹中心的目的。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及基于GPU实时提取光条纹中心的方法及设备。
背景技术
线结构光视觉传感器技术是三维重建领域的关键技术之一,现在广泛应用于非接触性的三维测量、工业检测、视觉引导焊接等领域。其中光条纹中心提取算法是决定线结构光三维重建精度以及光条纹轮廓定位准确性的重要因素,因此在线结构光视觉传感器应用场景中一个非常重要的任务就是准确获取线结构光条纹中心的位置信息。
目前常见的光条纹中心提取方法有灰度阈值法、灰度重心法、极值法、方向模板法、梯度阈值法等,这些方法实现简单,但精度不高,且容易收到噪声的干扰。
卡斯特恩.斯蒂格(Carsten.Steger)在20世纪末提出的基于Hessian矩阵的Steger算法是被广泛使用的光条纹中心提取算法,它首先得到图像中光条纹的法线方向,然后求法线方向上的极值点,从而得到光条纹中心的亚像素坐标。
Steger算法不但精度高而且鲁棒性好,唯一不足的就是其运算量较大,直接使用很难实现光条纹中心的快速提取,难以满足实时性要求较高的应用场景。
发明内容
本发明提供了基于GPU实时提取光条纹中心的方法,通过开放运算语言OpenCL(Open Computing language)利用图形处理单元GPU(Graphics Processing Unit)擅长并行数据处理的优势,完成基于Hessian矩阵的Steger算法在异构架构下的并行加速,从而解决Steger算法难以满足实时性检测光条纹中心的问题;具体采用的技术方案如下:
基于GPU实时提取光条纹中心的方法,包括以下步骤:
S1、初始化OpenCL内核环境;
S2、通过图像预处理得到图像中光条纹的感兴趣区域ROI,得到图像中光条纹的最大宽度;
S3、检测光条纹中心,所述检测光条纹中心包括以下步骤:
S301、编写内核程序,所述内核程序用于完成以下计算:
S30101、完成卷积计算;
S30102、构建Hessian矩阵H(x,y),计算H(x,y)的特征值和特征向量,其中绝对值最大的特征值对应的特征向量作为光条纹的法线方向向量(nx,ny),其中||(nx,ny)||2=1;
S30103、计算得到光条纹中心的亚像素坐标;
所述内核程序需要完成的三部分计算是在GPU上并行计算完成的;
S302、创建cl_kernel结构的内核对象,将执行内核的设备信息编译到内核程序中;
S303、执行内核程序;
S304、将内核执行后的输出缓存对象映射到主机内存中,然后释放创建的缓存对象;
S4、释放S1中初始化的OpenCL内核环境。
优选的,步骤S1、所述初始化OpenCL内核环境,包括以下步骤:
S101、利用clGetPlateformIDs和clGetPlateformInfo两个函数获取指定的计算平台;
S102、根据S101中获取的平台信息,利用clGetDeviceIDs和clGetDeviceInfo两个函数获取GPU设备作为内核的运行设备;
S103、根据S101中获取的平台信息和S102中获取的设备信息,利用clCreateContext函数创建上下文。
优选的,步骤S2中,图像中光条纹的感兴趣区域ROI可以通过对原图像进行自适应阈值的二值化处理,然后利用连通域分析法得到。
优选的,统计二值化图像中光条纹的最大宽度,在线结构光视觉传感器中光条纹在图像中沿着光条宽度的方向或光条的法线方向上,其灰度呈现出类似的高斯分布特点,高斯函数的标准差σ与光条纹宽度W应该满足公式(1):将光条纹的最大宽度W代入公式(1),可计算得到高斯函数的标准差σ,取标准差σ的3倍作为离散高斯卷积模板窗口的半径,卷积模板窗口大小记为M*M,M根据公式(2)计算,/>表示对其中的数据向下取整,然后根据公式(5)、(6)、(7)、(8)、(9)计算出高斯函数的一阶、二阶偏导作为卷积模板,记为Dx,Dy,Dxx,Dyy,Dxy。
一维高斯函数:
二维高斯函数:
二维高斯函数的一阶偏导数:
二维高斯函数的二阶偏导数:
优选的,步骤S30101完成卷积计算,包括:将原图像中光条纹ROI和Dx,Dy,Dxx,Dyy,Dxy分别做卷积计算得到一阶、二阶偏导,记为rx,ry,rxx,ryy,rxy;
所述步骤S30103中,光条纹中心的亚像素坐标(ex,ey)=(u+t*nx,v+t*ny),其中(u,v)为光条纹中心的像素坐标,(px,py)=(t*nx,t*ny)是光条纹中心像素坐标(u,v)在其法线方向上的灰度分布函数展开成二阶泰勒多项式的消失点,其中t计算如下式:
获取光条纹中心的亚像素坐标的条件为
公式10的推导过程:
图像中任意像素点(x0,y0)在其邻域附近内光强(灰度值)分布函数的二阶泰勒多项式如下:
上式中t为未知量,光强分布函数可以看作是关于t的一个分布函数;其中H(x,y)为Hessian矩阵,[nx,ny]同(nx,ny)为Hessian矩阵绝对值最大的特征值对应的特征向量,它表示当前像素在此方向(梯度方向)上是光强变化最快的。公式11对t求导,令导数为0的地方就是光强最强的地方(极值点),在图像中就是光条纹中心点处。求导公式如下:
将公式12右侧等式改写成矩阵形式,如下:
化简可得到t:
公式14中fx,fy,fxx,fyy,fxy是对公式11关于x,y的一阶、二阶偏导数,实际使用时使用的是高斯函数的一阶、二阶偏导模板对图像的卷积,所以fx,fy,fxx,fyy,fxy等同于rx,ry,rxx,ryy,rxy,将rx,ry,rxx,ryy,rxy分布替换fx,fy,fxx,fyy,fxy之后带入公式14可得公式10。
根据二元函数的泰勒展开后余项消除的条件(余项为无穷小),因此取光条纹中心的亚像素坐标的条件为
优选的,步骤S302包括以下步骤:
S30201、主机程序检查本地是否存在编译过的内核程序的二进制文件;
S30202、根据步骤S30201检查的结果,编译内核程序;即
当存在内核程序的二进制文件时,则使用clCreateProgramWithBinary函数结合S102、S103获取的设备信息和创建的上下文信息完成内核程序的创建;然后使用clBuildProgram函数对内核程序进行编译;
当不存在内核程序的二进制文件时,使用clCreateProgramWithSource函数结合S103中创建的上下文信息创建内核程序;然后使用clBuildProgram函数结合S102获取的设备信息对内核程序进行编译;
最后结合设备信息保存内核程序的二进制文件,以备下次使用;
选用编译后的二进制的内核程序,能够大大缩短主机程序运行clBuildProgram函数的时间,从而进一步提升整个算法执行效率;
S30203、使用clCreateKernel函数完成创建cl_kernel结构的内核对象。
优选的,S303执行内核程序,包括以下步骤:
S30301、使用clCreateCommandQueue函数创建命令队列;
S30302、使用clCreateBuffer函数为内核程序的输入、输出创建缓存对象;
S30303、使用clSetKernelArg函数设置内核参数;
S30304、使用clEnqueueNDRangeKernel函数将内核加入命令队列,设置工作组和工作项参数。
本发明还提供了基于GPU实时提取光条纹中心的设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如本发明所述的基于GPU实时提取光条纹中心的方法的步骤。
本发明的有益效果:现有技术中Steger算法运算量大,直接使用很难实现光条纹中心的快速提取;本发明通过开放运算语言OpenCL,利用图形处理单元GPU擅长并行数据处理的优势,完成基于Hessian矩阵的Steger算法在异构架构下的并行加速,实现了Steger算法实时性检测光条纹中心的目的。
附图说明
图1是本发明所述的基于GPU实时提取光条纹中心的方法的流程图。
图2是光条纹的灰度沿着宽度或法线的方向上呈现出类似的高斯分布特点的图。
图3是采用本发明所述的基于GPU实时提取光条纹中心的方法对较粗的直线条纹的检测效果。
图4是采用本发明所述的基于GPU实时提取光条纹中心的方法对曲线条纹的检测效果。
图5是采用本发明所述的基于GPU实时提取光条纹中心的方法对曲线条纹检测结果的局部放大。
具体实施方式
实施例1
结合图1~图5对本发明作进一步说明,基于GPU实时提取光条纹中心的方法,包括以下步骤:
S1、初始化OpenCL内核环境;
为了避免每次执行都要初始化内核环境,将此步骤的具体实现放在类对象的一个方法中,只需要在第一次检测时执行一次就可以了,其过程主要分为3个步骤:
S101、利用clGetPlateformIDs和clGetPlateformInfo两个函数获取指定的计算平台;
S102、根据S101中获取的平台信息,利用clGetDeviceIDs和clGetDeviceInfo两个函数获取GPU设备作为内核的运行设备;
S103、根据S101中获取的平台信息和S102中获取的设备信息,利用clCreateContext函数创建上下文。
S2、通过图像预处理得到图像中光条纹的感兴趣区域ROI,得到图像中光条纹的最大宽度;
在线结构光传感器中,单次拍摄的光条纹只占图像的一部分或者一小部分区域,从减少运算的数据量可以缩短处理时间的角度,本发明通过预处理得到图像中光条纹的感兴趣区域ROI(Region of Interest)。另外根据Steger算法原理,为了准确检测出宽度不一的光条纹中心,需要知道光条纹的大致宽度,于是此过程主要分为3大步骤:
S201、得到图像中光条纹的ROI;
对原图像进行自适应阈值的二值化处理,然后利用连通域分析法得到光条纹的ROI;
S202、得到图像中光条纹的最大宽度;
统计二值化图像中光条纹的最大宽度;
根据Steger算法原理,在线结构光视觉传感器中光条纹在图像中沿着光条宽度的方向或光条的法线方向上,其灰度会呈现出类似的高斯分布特点,即光条中心的灰度值大而光条边缘的灰度值小,如图2所示,因而光条中心线的提取任务就是要找到图像中的光条灰度的高斯分布中心。
根据高斯函数的标准差σ与光条纹宽度W应该满足公式(1),
S203、根据步骤S202中得到的光条纹宽度W和公式(1)计算高斯函数的标准差σ,取标准差σ的3倍作为离散高斯卷积模板窗口的半径,卷积模板窗口大小记为M*M,M根据公式(2)计算,其中表示对其中的数据向下取整,然后根据公式(5)、(6)、(7)、(8)、(9)计算出高斯函数的一阶、二阶偏导作为卷积模板,记为Dx,Dy,Dxx,Dyy,Dxy。
一维高斯函数:
二维高斯函数:
二维高斯函数的一阶偏导数:
二维高斯函数的二阶偏导数:
S3、检测光条纹中心,所述检测光条纹中心包括以下步骤:
S301、编写内核程序,所述内核程序用于完成以下计算:
S30101、完成卷积计算;即将原图像中光条纹ROI和Dx,Dy,Dxx,Dyy,Dxy分别做卷积计算得到一阶、二阶偏导,记为rx,ry,rxx,ryy,rxy;
S30102、构建Hessian矩阵H(x,y),即是根据计算得到的偏导rx,ry,rxx,ryy,rxy构建Hessian矩阵,记为同时计算H(x,y)的特征值和特征向量,其中绝对值最大的特征值对应的特征向量作为光条纹的法线方向向量(nx,ny),其中||(nx,ny)||2=1;
S30103、计算得到光条纹中心的亚像素坐标(ex,ey)=(u+t*nx,v+t*ny),其中(u,v)为光条纹中心的像素坐标,(px,py)=(t*nx,t*ny)是光条纹中心像素坐标(u,v)在其法线方向上的灰度分布函数展开成二阶泰勒多项式的消失点,其中t计算如下式:
获取光条纹中心的亚像素坐标的条件为
所述内核程序需要完成的三部分计算是在GPU上并行计算完成的。
S302、创建cl_kernel结构的内核对象,将执行内核的设备信息编译到内核程序中;为了能够正确地创建内核对象,主要分三步完成:
S30201、主机程序检查本地是否存在编译过的内核程序的二进制文件;
S30202、根据步骤S30201检查的结果,编译内核程序;
当存在内核程序的二进制文件时,则使用clCreateProgramWithBinary函数结合S102、S103获取的设备信息和创建的上下文信息完成内核程序的创建;然后使用clBuildProgram函数对内核程序进行编译;
当不存在内核程序的二进制文件时,使用clCreateProgramWithSource函数结合S103中创建的上下文信息创建内核程序;然后使用clBuildProgram函数结合S102获取的设备信息对内核程序进行编译;
最后结合设备信息保存内核程序的二进制文件,以备下次使用;
选用编译后的二进制的内核程序,能够大大缩短主机程序运行clBuildProgram函数的时间,从而进一步提升整个算法执行效率;
S30203、使用clCreateKernel函数完成创建cl_kernel结构的内核对象。
S303、执行内核程序;执行内核程序,包括以下步骤:
S30301、使用clCreateCommandQueue函数创建命令队列;
S30302、使用clCreateBuffer函数为内核程序的输入、输出创建缓存对象;
S30303、使用clSetKernelArg函数设置内核参数;
S30304、使用clEnqueueNDRangeKernel函数将内核加入命令队列,设置工作组和工作项参数。
S304、将内核执行后的输出缓存对象映射到主机内存中,然后释放创建的缓存对象;
S4、释放S1中初始化的OpenCL内核环境,即在确定不再继续执行光条纹检测算法时,把S1中初始化的OpenCL内核环境释放。
对比测试的加速结果,如表1所示:
测试环境:Windows10***,CPU:i5-9300,8核,主频2.4GHz
CPU单线程:即计算rx,ry,rxx,ryy,rxy是按顺序执行的;
CPU多线程:即计算rx,ry,rxx,ryy,rxy是分5个线程同时计算;
从表1可知,本发明所述的方法极大地缩短了提取光条纹中心的时间,高效地实现了Steger算法实时性检测光条纹中心的目的。
表1对比测试的加速结果
从图3~图5可知,本发明所述的GPU实时提取光条纹中心的方法适用性好,通用性强;既适用于粗线条纹的光条纹中心的提取,也适用于细线条纹的光条纹中心的提取;既适用于直线条纹的光条纹中心的提取,也适用于曲线条纹的光条纹中心的提取。
实施例2
一种基于GPU实时提取光条纹中心的设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如本发明所述的基于GPU实时提取光条纹中心的方法的步骤。
Claims (8)
1.基于GPU实时提取光条纹中心的方法,其特征在于,包括以下步骤:
S1、初始化OpenCL内核环境;
S2、通过图像预处理得到图像中光条纹的感兴趣区域ROI,得到图像中光条纹的最大宽度;
S3、检测光条纹中心,所述检测光条纹中心包括以下步骤:
S301、编写内核程序,所述内核程序用于完成以下计算:
S30101、完成卷积计算;
S30102、构建Hessian矩阵H(x,y),计算H(x,y)的特征值和特征向量,其中绝对值最大的特征值对应的特征向量作为光条纹的法线方向向量(nx,ny),其中||(nx,ny)||2=1;
S30103、计算得到光条纹中心的亚像素坐标;
所述内核程序需要完成的三部分计算是在GPU上并行计算完成的;
S302、创建cl_kernel结构的内核对象,将执行内核的设备信息编译到内核程序中;
S303、执行内核程序;
S304、将内核执行后的输出缓存对象映射到主机内存中,然后释放创建的缓存对象;
S4、释放S1中初始化的OpenCL内核环境。
2.根据权利要求1所述的基于GPU实时提取光条纹中心的方法,其特征在于,步骤S1中初始化OpenCL内核环境,包括以下步骤:
S101、利用clGetPlateformIDs和clGetPlateformInfo两个函数获取指定的计算平台;
S102、根据S101中获取的平台信息,利用clGetDeviceIDs和clGetDeviceInfo两个函数获取GPU设备作为内核的运行设备;
S103、根据S101中获取的平台信息和S102中获取的设备信息,利用clCreateContext函数创建上下文。
3.根据权利要求1所述的基于GPU实时提取光条纹中心的方法,其特征在于,步骤S2中,图像中光条纹的感兴趣区域ROI可以通过对原图像进行自适应阈值的二值化处理,然后利用连通域分析法得到。
4.根据权利要求3所述的基于GPU实时提取光条纹中心的方法,其特征在于,统计二值化图像中光条纹的最大宽度,在线结构光视觉传感器中光条纹在图像中沿着光条宽度的方向或光条的法线方向上,其灰度呈现出类似的高斯分布特点,高斯函数的标准差σ与光条纹宽度W应该满足公式1:将光条纹的最大宽度代入公式1,计算高斯函数的标准差σ,取标准差σ的3倍作为离散高斯卷积模板窗口的半径,卷积模板窗口大小记为M*M,M根据公式2计算,/>表示对其中的数据向下取整,然后根据公式5、6、7、8、9计算出高斯函数的一阶、二阶偏导作为卷积模板,记为Dx,Dy,Dxx,Dyy,Dxy
一维高斯函数:
二维高斯函数:
二维高斯函数的一阶偏导数:
二维高斯函数的二阶偏导数:
。
5.根据权利要求4所述的基于GPU实时提取光条纹中心的方法,其特征在于,
步骤S30101完成卷积计算,包括:将原图像中光条纹ROI和Dx,Dy,Dxx,Dyy,Dxy分别做卷积计算得到一阶、二阶偏导,记为rx,ry,rxx,ryy,rxy;
步骤S30103中,光条纹中心的亚像素坐标(ex,ey)=(u+t*nx,v+t*ny),其中(u,v)为光条纹中心的像素坐标,(px,py)=(t*nx,t*ny)是光条纹中心像素坐标(u,v)在其法线方向上的灰度分布函数展开成二阶泰勒多项式的消失点,其中t计算如下式:
获取光条纹中心的亚像素坐标的条件为
6.根据权利要求1所述的基于GPU实时提取光条纹中心的方法,其特征在于,步骤S302包括以下步骤:
S30201、主机程序检查本地是否存在编译过的内核程序的二进制文件;
S30202、根据步骤S30201检查的结果,编译内核程序,即
当存在内核程序的二进制文件时,则使用clCreateProgramWithBinary函数结合S102、S103获取的设备信息和创建的上下文信息完成内核程序的创建;然后使用clBuildProgram函数对内核程序进行编译;
当不存在内核程序的二进制文件时,使用clCreateProgramWithSource函数结合S103中创建的上下文信息创建内核程序;然后使用clBuildProgram函数结合S102获取的设备信息对内核程序进行编译;
最后结合设备信息保存内核程序的二进制文件,以备下次使用;
S30203、使用clCreateKernel函数完成创建cl_kernel结构的内核对象。
7.根据权利要求1所述的基于GPU实时提取光条纹中心的方法,其特征在于,S303执行内核程序,包括以下步骤:
S30301、使用clCreateCommandQueue函数创建命令队列;
S30302、使用clCreateBuffer函数为内核程序的输入、输出创建缓存对象;
S30303、使用clSetKernelArg函数设置内核参数;
S30304、使用clEnqueueNDRangeKernel函数将内核加入命令队列,设置工作组和工作项参数。
8.基于GPU实时提取光条纹中心的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1~7任一项所述的基于GPU实时提取光条纹中心的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211030787.7A CN115393172B (zh) | 2022-08-26 | 2022-08-26 | 基于gpu实时提取光条纹中心的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211030787.7A CN115393172B (zh) | 2022-08-26 | 2022-08-26 | 基于gpu实时提取光条纹中心的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115393172A CN115393172A (zh) | 2022-11-25 |
CN115393172B true CN115393172B (zh) | 2023-09-05 |
Family
ID=84123535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211030787.7A Active CN115393172B (zh) | 2022-08-26 | 2022-08-26 | 基于gpu实时提取光条纹中心的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115393172B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117473212B (zh) * | 2023-12-27 | 2024-04-16 | 粤港澳大湾区数字经济研究院(福田) | Ntt算法的gpu加速方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109712147A (zh) * | 2018-12-19 | 2019-05-03 | 广东工业大学 | 一种基于Zhang-Suen图像骨架提取的干涉条纹中心线拟合方法 |
CN110244939A (zh) * | 2019-05-20 | 2019-09-17 | 西安交通大学 | 一种基于OpenCL的RS码编解码方法 |
CN110866924A (zh) * | 2019-09-24 | 2020-03-06 | 重庆邮电大学 | 一种线结构光中心线提取方法及存储介质 |
CN113256706A (zh) * | 2021-05-19 | 2021-08-13 | 天津大学 | 一种基于zynq的实时光条纹中心提取***及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012142186A2 (en) * | 2011-04-11 | 2012-10-18 | Child Timothy | Database acceleration using gpu and multicore cpu systems and methods |
-
2022
- 2022-08-26 CN CN202211030787.7A patent/CN115393172B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109712147A (zh) * | 2018-12-19 | 2019-05-03 | 广东工业大学 | 一种基于Zhang-Suen图像骨架提取的干涉条纹中心线拟合方法 |
CN110244939A (zh) * | 2019-05-20 | 2019-09-17 | 西安交通大学 | 一种基于OpenCL的RS码编解码方法 |
CN110866924A (zh) * | 2019-09-24 | 2020-03-06 | 重庆邮电大学 | 一种线结构光中心线提取方法及存储介质 |
CN113256706A (zh) * | 2021-05-19 | 2021-08-13 | 天津大学 | 一种基于zynq的实时光条纹中心提取***及方法 |
Non-Patent Citations (1)
Title |
---|
基于YOLOv3目标检测的秧苗列中心线提取方法;张勤 等;《农业机械学报》;第第51卷卷(第第8期期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115393172A (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110866924A (zh) | 一种线结构光中心线提取方法及存储介质 | |
EP3742113A1 (en) | Systems and methods for marking images for three-dimensional image generation | |
CN106920245B (zh) | 一种边界检测的方法及装置 | |
CN113436207B (zh) | 一种对于规则表面的线结构光条纹中心快速精确提取方法 | |
JP2009129189A (ja) | 物体認識方法 | |
CN106340010A (zh) | 一种基于二阶轮廓差分的角点检测方法 | |
CN115393172B (zh) | 基于gpu实时提取光条纹中心的方法及设备 | |
CN104318559A (zh) | 用于视频图像匹配的特征点快速检测方法 | |
Jorstad et al. | Refining mitochondria segmentation in electron microscopy imagery with active surfaces | |
CN103218809A (zh) | 一种珍珠长度参数的图像测量方法 | |
CN111524139B (zh) | 一种基于双边滤波器的角点检测方法和检测*** | |
CN111124896B (zh) | 一种主次峰值比计算算法的蜕变测试*** | |
CN112233104B (zh) | 实时位移场和应变场检测方法、***、装置和存储介质 | |
CN112801165B (zh) | 一种卡片审核方法及装置 | |
CN111124895A (zh) | 一种主次峰值比计算算法的蜕变测试方法 | |
JP5772675B2 (ja) | 濃淡画像のエッジ抽出方法、エッジ抽出装置並びに濃淡画像のエッジ抽出プログラム | |
CN112085752B (zh) | 一种图像的处理方法、装置、设备及介质 | |
CN104655041B (zh) | 一种附加约束条件的工业零件轮廓线多特征提取方法 | |
US7379599B1 (en) | Model based object recognition method using a texture engine | |
Estellers et al. | Surface reconstruction from microscopic images in optical lithography | |
US20190295275A1 (en) | Shape measuring apparatus, shape measuring method, non-transitory computer readable medium storing program | |
Mateo et al. | Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks | |
Liu et al. | A comparative study of different corner detection methods | |
Yang et al. | Center extraction algorithm of linear structured light stripe based on improved gray barycenter method | |
CN114943761A (zh) | 一种fpga中线结构光条纹中心提取方法及装置 |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 103-4, 599-5 (Building 1), Jianzhu West Road, Wuxi, Jiangsu 214000 Patentee after: Wuxi Licheng Intelligent Technology Co.,Ltd. Country or region after: China Address before: Room 103-4, 599-5 (Building 1), Jianzhu West Road, Wuxi, Jiangsu 214000 Patentee before: Wuxi Licheng Intelligent Equipment Co.,Ltd. Country or region before: China |