halcon易错系列—截取图像算子reduce_domain
一、概述图像形态学预处理后用reduce_domain规避干扰区域,但是会发现再抓取点时还是规避不了,规避不了就不能保证抓点抓边的稳定性和准确性,针对这个问题,需要从reduce_domain和measure_pos这两个算子的定义着手,分析下问题出现的根源二、算子说明reduce_domain(Image,Region:ImageReduced: : )算子reduce_domain将给定图像的
一、概述
图像形态学预处理后用reduce_domain规避干扰区域,但是会发现再抓取点时还是规避不了,规避不了就不能保证抓点抓边的稳定性和准确性,针对这个问题,需要从reduce_domain和measure_pos这两个算子的定义着手,分析下问题出现的根源
二、算子说明
reduce_domain(Image, Region : ImageReduced : : )
算子reduce_domain将给定图像的定义域缩小到指示区域。新定义域被计算为旧定义域与区域的交集。因此,新定义域可以是区域的子集。矩阵的大小没有改变。
Image (input_object) Input image.
Region (input_object) New definition domain.
ImageReduced (output_object) Image with reduced definition domain.
measure_pos(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdge, ColumnEdge, Amplitude, Distance)
提取垂直于矩形或环形弧的直边。
三、问题描述
执行如下代码,抓取矩形框内的一个点,发现抓取的点出现在Rectangle的范围之外,也就是出现在ImageReduced的黑色区域,这部分区域是没有边缘点,更不存在一阶导峰值,但是他就是抓取出来了一个点,这可能跟算子reduced_domain底层设计有关,没有与原始图片Image完全隔离开
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
dev_set_draw ('margin')
read_image (Image, 'printer_chip/printer_chip_01')
gen_rectangle1 (Rectangle, 30, 20, 100, 200)
reduce_domain (Image,Rectangle , ImageReduced)
*矩形框自己定义rectangle2
gen_measure_rectangle2 ( vdMRRows, vdMRCols\
, vdMRPhis, vdMRL1, vdMRL2\
, lImageWidth, lImageHeight\
, 'nearest_neighbor'\
, MeasureHandle)
measure_pos (ImageReduced, MeasureHandle, dMRSigma, dMRThresh, csTransition, 'first', dEdgeRow, dEdgeCol, dAmpl, dDist)
测试结果

四、问题解决
针对这种问题,只能在图像预处理上面下功夫,预处理:改变图像实质!
-
difference (Image, Rectangle, RegionDifference) -
paint_region (RegionDifference, Image, ImageReduced, 255, 'fill')
测试结果:

从右往左抓取黑到白的点,这次就不开了Rectangle外图像干扰,不过抓在了Rectangle的左侧边缘上,没办法,paint_region填充了白色造成的影响,如果填充成黑色就可以避免,灵活而用
可见,将Rectangle之外的区域涂成白色区域,就可以避开刚才所述问题的干扰,会牺牲一部分时间
一般情况下不需要这样出来,因为我们限定了抓取方向和抓取极性(黑到白,白到黑)之后,基本上不会抓错,即使抓错也是个别点,不会太多的影响直线拟合结果
但是对于图像干扰较多,形态学预处理后还是干扰太多,抓错点后又影响到了直线拟合的结果,那么就需要考虑paint_region函数,paint_region预处理后,一清二白,不再干扰,这是形态学预处理后的杀手锏
再拓展一下思路,形态学预处理->paint_region,那么再paint_region后面我们就可以在新的图像再做一次形态学预处理,毕竟干扰减少了,可以开拓形态学预处理的方向,思路和维度
更多推荐

所有评论(0)