在二维平面中,相同的来料都有它关于来料相同的平面矩阵,因此在初始来料上规划好路径后只要得到二次来料它发生的位移以及旋转角度就能很容易得到这次来料上的规划路径关系,从而控制机械手准确走完规划路径。但当来料过大超出相机抓图的视野就可以通过mark点来获得这两个关系,mark点可以是一个、两个或者三个,分别取决于不同的场合。关于一个mark点的定位就非常简单了,但有个局限就是这个mark点必要很容确定旋转度数。测试代码:*来料发生位移+旋转
dev_close_window ()
dev
关键算子: orientation_region vector_angle_to_rigid affine_trans_region 测试图片:halcon代码:*此例子将图中没有偏移的形状参照旋转的形状进行旋转
read_image (
例一:毛刺在往外凸的面上策略1:分割出黑色部分,然后通过开运算去掉毛刺,再通过原黑色部分区域减去开运算之后的区域,得到毛刺部分的区域。 read_image (Tu, 'C:/Users/xiahui/Desktop/tu.jpg')
binary_threshold (Tu, Region, 'max_separability', 'dark', UsedThres
玻璃瓶口的缺陷检测2020-10-15 21:55:43
inspect_bottle_mouth.hdev巧妙运用了极坐标变换法,细节很精细,值得学习* tuning parameters
SmoothX := 501
ThresholdOffset := 25
MinDefectSize := 50
*
* initialization
PolarResolution := 640
RingSize :=
(一) 判断对象为空对于region是否为空,用下面的算子。IsEqual1是个inter型,如果为空则为1,否则为0gen_empty_region(EmptyRegion1)
test_equal_region(EmptyRegion1,CheckARegion,IsEqual1)
if(IsEqual1==1)
return()
endif判断hobject为空则用算子test_equal_obj判断object为空,count_ob
接上篇 https://www.skcircle.com/?id=1436 上篇贴子谈了怎么样标定后,定位机器人运动到任意一个位置时,相机看到的特征点的位置。这一篇继续实验一个重要话题: 怎么计算机械人旋转中心到相机视野中心的距离。机械人旋转中心在tool 0状态就是U轴中心,或者说是法兰盘的中心, 如下图所示。(图1)另外,有时候我们也会求机器人抓子未端的标定特定点到相机视野中心的距离。以上两者的求取办法一般有两种:(1) 做加工件安装在U轴上,戳出点来,然后把相机视野的中心对上去(2
原图:(图1)想求出它的黑色边界,用来判断NG的部分。如下图所示,蓝色线是勇哥想求的边界。红色箭头所指的是缺陷,它有两部分。颜色较浅的灰色带和颜色深的黑色带,它们是两种类型的NG特征,其判断阈值是不同的。(图2)勇哥想到的几个方法:(一) 通过边界xld拟合椭圆设想是通过图3的两根xld,拟合出图4的椭圆。(图3)(图4)dev_close_window()
read_image (Pic20200923105531Blockid9363, 'F:/blockI
继续上篇《勇哥的视觉实验:眼在手上(eye in hand)的标定实验(二) 相机位于机器人第3轴时,并且定位特征在相机视野内不可见》在上篇中,勇哥让机器人走了四个位置:pt1, pt2, pt3, pt4由于相机镜头视野较小,在这个四个位置相机看到的视野范围是不同的。而我们标定时选择是在pt1时相机看到的视野内容进行标定的,当我们在这个视野内任选一个点时,转换出来的机械坐标都可以正确让笔尖戳到这个点。在本篇,我们想让笔尖能准确戳到pt2,pt3,pt3相机视野范围内的点。实际上,在第一篇,勇哥
继续上篇《勇哥的视觉实验:眼在手上(eye in hand)的标定实验。相机挂在x,y平台上,全部九点标定特征在相机视野内可见》这次勇哥换用Epson四轴scara机器人来做实验。如下图所示,相机挂在第3轴上面,因此这种眼在手上的工作模式分为两种情况:(1) 相机移动,不旋转(2) 相机移动并且旋转本篇研究一下第(1)种情况。(图1)我们开始九点标定。请看上图,这里勇哥还是用笔尖做为标定特征点。要说明的是,在相机视野范围内看不到我们的笔尖。我们计划只做四个点的标定,下图是走到其中一个点时相机看到
这个问题的现象是下面这句话报错,说是参数有问题:HOperatorSet.SetFramegrabberParam(AcqHandle, "Gain", 2.0);而在halcon中,连接相机后查阅参数,其中增益参数就叫Gain,这个是绝对没有写错的。而这句话的设置时机放在了取得相机设备句柄之后。 HOperatorSet.OpenFramegrabber("HMV3rdParty", 0, 0, 0,&