基于形状的模板查找算子:find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score) MaxOverlap:意思是允许的最大重叠区域。 那么我们想问,这个重叠区域指的是哪个区域呢?如果下图是创建形状模型的图像:那么对于下
Halcon中阈值二值化的算子众多,通常用得最多的有threshold、binary_threshold、dyn_threshold等。 threshold是最简单的阈值分割算子,理解最为简单;binary_threshold是自动阈值算子,它可以自动选出暗(dark)的区域,或者自动选出亮(light)的区域,理解起来也没有难度。 动态阈值算子dyn_threshold理解起来稍微复杂一点,使用dyn_threshold算子的步骤基本是这样的:① 将原图进行滤波平滑处理。②
例一:毛刺在往外凸的面上策略1:分割出黑色部分,然后通过开运算去掉毛刺,再通过原黑色部分区域减去开运算之后的区域,得到毛刺部分的区域。read_image (Tu, 'C:/Users/xiahui/Desktop/tu.jpg')
binary_threshold (Tu, Region, 'max_separability', 'dark', UsedThreshold)
以下图为例:比如我想把面积第2小的那个“小正方形”选择出来,算法代码如下:read_image (Yuan, 'C:/Users/happy xia/Desktop/yuan.png')
binary_threshold (Yuan, Region, 'max_separability', 'dark', UsedThreshold)
connection 
connection直译为“连接”。其实它的功能不是连接,它的功能是确定区域之间的连接关系,如果简单粗暴地解释的话,可以认为:connection的意思是“打散”,将不连接的区域打散成一个一个的区域。 一、difference操作 1、用connection之后的region集合减去单一region 以下为待处理的图:read_image (Right, '未标题-1.jpg')
threshold (Right,&n
算子sort_contours_xld算子有5种排序方式,即: 'upper_left':The position is determined by the upper left corner of the surrounding rectangle.'upper_right':The position is determined by the upper right corner of the surr
在Halcon的rft变换中,我们经常可以看到这样的算子组合:rft_generic (Image, ImageFFT2, 'to_freq', 'none', 'complex', Width) convol_fft (ImageFFT2, ImageFilter, ImageConvol2)rft_generic (ImageConvol2, ImageFiltered2, 'from_freq', 'n
有时候通常需要简单的拼图,不涉及图像融合之类的,仅仅是简单的平移将多张图拼接成一张图。tile_images和tile_images_offset就是用于简单拼图的2个算子。 谈到拼图,肯定有以下问题要明确:1、将多少张图拼起来?由于是多张图,这需要一个元组来存储多张图片的集合。2、是横向拼图,还是纵向拼图?这涉及拼图的方向。3、是一张挨着一张无缝拼接吗?能不能做“有缝”的自由拼接?这涉及拼接偏移量。 我有这样四张图(分辨率300 * 150):一、tile_images算子
线扫相机的原理:线扫相机一般一次只拍摄一条线(线宽通常是1个像素),在机构运动的过程中,线扫相机不断地拍摄线,于是“聚线成面”,这就是线扫相机成像的原理。 线扫相机的原理决定了,它所拍摄的物体必须要运动。机构运动的话,就存在机构的速度是否和线扫相机采集的速度匹配的问题。将对机构运动速度的要求进行拆分的话,其实就是如下两点:① 运动速度必须与线扫相机的工作行频(即采集速度)相匹配。② 机构的运动速度最好是匀速,或者十分接近匀速。 如果机构速度过快,最后的图像在运动方向上被压缩;