Blob分析可为机器视觉应用提供图像中的blobs的数量、位置、形状和方向等信息,还可以提供相关blobs间的几何拓扑结构。图像分割的结果就是所谓的Blob(binary large objects),在halcon中该数据类型被叫做“区域”在特征提取这一步,Blob的像素数,重心,方向等被计算出来。例如:下面的代码计算所有灰度值在120和255像素构成的8连通区域的面积与中心坐标。 read_image (Image,&nbs
AForge.NET的图像滤镜有来自许多不同领域的滤波器,如颜色滤波、颜色级别校正、卷积滤波器、边缘检测滤波器、二值化滤波器等。这个跟photoshop的滤镜的作用是一样的。在机器视觉中,滤镜用得比较少(也许是勇哥孤陋寡闻)。滤镜需要引用aferge.Imaging.Filters命名空间。下面的演示程序中,罗列了这个命令空间的一部分滤镜类型。勇哥放几张滤镜的效果图片。原图二值化阈值 Threshold binarizationGaussian blur 著名的
怎么让一个点按指定的角度旋转并且偏移到指定的位置上去呢?这个其实就是旋转与偏移二合一矩阵的应用。halcon的算子vector_angle_to_rigid配合affine_trans_pixel就是这个作用如下图所示,勇哥希望两个极耳朵中间那个点按电池的角度旋转并且位置于电池本体的中心上去。read_image(Image, 'C:/Users/Administrator/Desktop/1.bmp')
dev_close_window()
dev_open_wi
勇哥之前发表的一篇文章《Halcon学习(27-2)halcon测量技术:找线》这个文章介绍的找线方式是使用算子measure_pos来工作的,因此这种方式适合halcon及以上版本。勇哥另外几篇贴子里介绍了适合halcon17及以上版本的找线方法:《视觉进阶:2D Metrology(二维计量)》《halcon17的找线功能》听说,这些高阶的功能其实也是对halcon10原来的算子的一些封装。因此,对于工业视觉中常见的找线功能来说,我们必须了解核心的measure_pos算子。在找线的时候,先
勇哥继续讨论Epson机器人手眼标定的过程和一些经验。(一)九点标定时的高度与实际电池取放高度相差几毫米可以吗?依据最近勇哥现场做的实验来看,如果标定高度不等于电池取放高度,影响很大。定位的时候差别按mm来算,不是差一点半点。而且这种偏差呈放射状的变化,有点像CCD的成像方式。勇哥画了个示意,在下图中,电池1的偏差可能是向左,而电池6的偏差可能是向右。如果这个时候把电池面升高到原来标定的高度,你会发现机器人走位又非常准确了。(二)一定要九点标定吗,不可以四点吗?九点标定一定需要九宫格子吗?这个要
这一篇勇哥来谈一谈验证视觉取放料准不准如何来判定的问题。机器在客户工厂试产阶段,会暴露出整机定位精度不准的问题,这时候机构会甩锅给视觉这边,如何反驳呢?首先,我们视觉这边必须要有数据证明视觉取放精度是满足要求的.这一点之前的贴子中勇哥讲了许多.主要方法有两种:一是在标定完成后,在视野的最大范围内确定一批像素点, 转为机械人坐标后走过去戳下去, 看准不准.二是取实际的物料, 然后放置回视野内的一个固定位置, 变化量是每次取的物料位置与角度都会不同. 做几十组数据观察放置的位置偏差有多少
先来段代码。 angle_ll (Row1, Column1, Row, Column,Row1, Column1, Row5-RT_Y, Column5+RT_X, Angle1)
disp_line(200000, Row1, Column1, Row,
(应用6)已经直线的起始端点与终止端点,把这条直线移动到指定的点勇哥先放上halcon写的函数moveline的代码,它的作用是把一条线移动到指定的点。resultLineStartPointRow := 0
resultLineStartPointCol := 0
resultLineEndPointRow := 0
resultLineEndPointCol := 0
projection_pl(poin
已经矩形的中心点、边长、phi求四个顶点的坐标 在halcon里面,类似gen_measure_rectangle2、smallest_rectangle2的算子表示任意角度的矩形。其信息包括:矩形中心点 row,column矩形角度 Phi矩形区域的长和宽的一半 Length1, Length2如下图所示:(图1)就没有没直接给出矩形4个顶点坐标。有时候想知道4个顶点的坐标怎么计算呢?由于勇哥手上有一段halcon代码正好用解决上面的问题,所以我们先分析一下代码的结果,以此为参考进行
三角函数画圆法画圆可以用圆的方程来画。原点为圆心,半径为r(r>0)的圆的标准方程为x^2+y^2=r^2也可用三角函数的方式来画。下面是画圆的C#代码:/// <summary>
/// 利用三角函数画圆
/// </summary>
/// <param name="radius"></param>
/// <param name=&q