shape_trans

shape_trans(Region : RegionTrans : Type : )

 

函数作用:

变换区域的形状

参数Type的可选项解释如下:

convex:凸包性

ellipse:与输入区域有相同的矩和区域的椭圆

outer_circle:最小外接圆

inner_circle:最大内接圆

rectangle1:平行于坐标轴的最小外接矩形

rectangle2:最小外接矩形

inner_rectangle1:平行于坐标轴的最大内接矩形

inner_rectangle2:输入区域的骨架点拥有同输入区域的重心点最小的距离

 

注意:如果Type是outer_circle,最终的圆形区域不是完全覆盖输入区域,因为内部算法原理是由算子smallest_circle和gen_circle完成的。由smallest_circle计算的半径能够小到1/sqrt(2)-0.5个像素。同时,由gen_circle生成的圆在双方向上由0.5个像素转换。因此,当加入双方的影响,原因区域可能要超出返回圆形区域至多1个像素

参数列表:

Region(in):被变换的区域

RegionTrans(out):变换后的区域

Type(in):变换类型

 

可能前置项:

connection, regiongrowing

 

可能后置项:

disp_region, regiongrowing_mean, area_center

 

可替代项:

convexity, elliptic_axis, area_center, smallest_rectangle1, smallest_rectangle2, inner_rectangle1, set_shape, select_shape, inner_circle
 

### Shape Trans 算子详解 #### 使用方法 `shape_trans` 是 HALCON 中用于转换轮廓、XLD 或者区域形状属性的重要算子。此算子能够执行多种类型的变换操作,包括但不限于平移、旋转以及缩放等几何变换。 该算子的具体调用格式如下: ```cpp shape_trans(Object : TransObject : Transformation, Parameters : ) ``` - `Object`: 输入的对象可以是 XLD 轮廓或者是二值化后的区域。 - `TransObject`: 经过指定变换之后得到的新对象。 - `Transformation`: 变换类型字符串参数,指定了要应用哪种具体的变换方式,例如 'convex' 表示凸包运算;'ellipse_param' 用来计算椭圆拟合参数等等[^1]。 - `Parameters`: 额外的参数列表,依据不同的变换种类可能需要提供额外的信息作为配置选项。 对于一些特定的变换形式,比如当设置 `Transformation='anisotropic_scaled_contour_xld'` 时,则还需要通过 `Parameters` 来传递尺度因子等相关数值来完成更复杂的自定义变形处理[^2]。 #### 应用场景 在实际工业检测领域内,`shape_trans` 的用途非常广泛。例如,在电子元件外观缺陷检查过程中,可以通过先提取目标物体边缘形成轮廓,再利用本算子实施标准化预处理——如去除噪声干扰造成的微小突起或凹陷部分(即形态学开闭运算),从而提高后续匹配精度并减少误判率。另外,在字符识别任务里也可以借助于它调整待测样本至统一规格大小以便更好地与模板库做对比分析。 此外,针对某些特殊需求还可以组合多个基本变换动作构成复合型的操作流程,像将原始图形顺时针旋转一定角度后再沿垂直方向镜像翻转这样的连续多步变化都能够依靠灵活运用 `shape_trans` 实现自动化高效加工制造环节中的在线质量监控系统构建提供了强有力的技术支持手段之一。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值