一、提高Halcon的运算速度,有以下几种方法:1、Multithreading(多线程)2、Automatic Parallelization(自动操作并行化)3、Compute devices,利用GPU提速,如果显卡性能好,至少可以提高5~10倍的运算速度二、多线程1、官方自带的例程get_operator_info.hdev,可以查看支持多线程的算子;* Determine the multithreading information
get_m
极坐标的用途把圆形的图片转换为矩形,便于字符识别和关键区域的提取。在halcon中对应的算子(1)极坐标的展开:polar_trans_image_ext(Image : PolarTransImage : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height, Interpolation : )(2)极坐标的逆变换:polar_trans_image_inv(PolarImage : XYTransIm
变换模型是指根据待匹配图像与背景图像之间几何畸变的情况,所选择的能最佳拟合两幅图像之间变化的几何变换模型。可采用的变换模型有如下几种:刚性变换、仿射变换、透视变换和非线形变换等,如下图:参考: http://wenku.baidu.com/view/826a796027d3240c8447ef20.html 其中第三个的仿射变换就是我们这节要讨论的。仿射变换(Affine Transformation)Affine Transformation是一种二维坐标到二维坐标之间的线
勇哥手里的halcon19.11写的深度学习程序,运行没有问题。但是把它导出为一个action函数到一个项目的上位机程序上面(C#)那边去调用,结果报下面的错误:HALCON error #7717:For this operation the cuBLAS library needs to be available(see installation guide) in operator apply_dl_model勇哥试了一下,新建一C#个小程序,调用这个导出的action(),结果居然没有报
手眼标定原理实战2020-07-12 20:30:36
手眼关系一般分为固定相机和移动相机两种模式。在这章我们同样需要涉及到标定这块的知识,我们回顾一下,标定的流程一般如下:图7.1.1 标定流程图根据摄像机和机器人的位置关系可以分为Eye-in-Hand和eye-to-Hand。摄像机安装在机械手上,并且随着机械手一起运动,这种称为Eye-in-Hand。将摄像机安装在机械手本体之外,固定在某个位置,这种称为eye-to-hand。机械手一般分为串联六轴的和四轴并联的,两种机械手的坐标系关系以及优势都不相同。手眼标定的过程其实就是求解摄像机坐标系和
几何变换详解2020-07-12 08:44:29
在三维图形学中,几何变换大致分为三种,平移变换(Translation),缩放变换(Scaling),旋转变换(Rotation)。以下讨论皆针对DirectX,所以使用左手坐标系。平移变换将三维空间中的一个点[x, y, z, 1]移动到另外一个点[x', y', z', 1],三个坐标轴的移动分量分别为dx=Tx, dy=Ty, dz=Tz, 即x' = x + Txy' = y + Tyz' = z + Tz平移变换的矩阵如下。缩放变换将模型
本文介绍的Matrix,是.net自带的类. 其命名空间为:System.Drawing.Drawing2D注意并不是netMarketing中那个netMarketing.graphics.Matrix在GDI+中,可以在Matrix对象中存储仿射变换。由于表示仿射变换的矩阵的第三列总是(0,0,1),因此在构造Matrix对象时,只需要指定前两列的6个数。语句:Matrix myMatrix = new Matrix(0, 1, -
Introduction2D image transformation in .NET has been very much simplified by the Matrix class in the System.Drawing.Drawing2D namespace. In this article, I would like to share with the reader on the use of Matrix class f
在上一篇文章中,我们讲到,在Android中,scale(缩放),rotation(旋转)和 translation(平移)都是以矩阵(Matrix)的形式定义的,实际上在图形学中,这些平面图形的变换都是以矩阵的形式存在的。先来回顾一下,下面,左中右分别scale(缩放),rotation(旋转)和 translation(平移)在Android中的矩阵表示:如果只是单纯的应用某一个变换,我们都知道直接用矩阵去乘上对应的点就可以了。但是对于缩放和旋转来说,它们的轴点是基于原点(0,0)的,如下图
在二维平面上,常用的有以下三种基本的图形变化:1)Translation2)Scale3)Rotation在Android的开发中,我们也经常会用到这样的一些图形变换,尤其是我们在写自定义View时,更是会经常利用到Matrix来实现一些效果,比如平移,旋转,缩放及切变等,相信很多朋友应该很想知道,矩阵实现这种变换的原理是什么,什么是矩阵的左乘右乘,它们在实现效果上有什么差别吗?今天就让我们一起来看一下吧。都是由点组成的平面上的元素,就是点,线,面,而线就是由一个个点组成的,而是由一条条线组成的