halcon算子学习

1. gen_contour_polygon_xld( : Contour : Row, Col : )

功能:根据一个多边形(polygon)(以元组形式给出)创建一个XLD轮廓(contour)。
(输出)contour:输出创建的XLD轮廓;
(输入)Row:输入的行数组;
(输入)Col:输入的列数组;

例:gen_contour_polygon_xld( Contour, [10,15,10,10], [10,15,15,10] )
生成一个三角形轮廓
halcon产生的三角形

2.erosion_rectangle1(Region : RegionErosion : Width, Height : )
功能:腐蚀一个矩形结构基础的一个区域。
(输入)Region :输入区域对象;
(输出)RegionErosion :输出区域对象;
(输入)Width (input_control) :矩形宽度;
(输入)Height (input_control) :矩形高度;

例:erosion_rectangle1 (RegionFillUp, RegionErosion, 20, 20)
* 腐蚀一个矩形结构基础的一个区域。在ROI的长宽下,往内部腐蚀宽度20,高度20,得到RegionErosion
这里写图片描述
这里写图片描述

3.set_origin_pose( : : PoseIn, DX, DY, DZ : PoseNewOrigin)
平移POSEIN的原点,输出为新的原点。注意,平移沿着OBJ的坐标新进行,而非沿着摄像机的坐标系进行。

(输入)PoseIn:原点位姿[X,Y,Z,U,V,W,0]
(输入)DX:平移X轴距离
(输入)DY:平移Y轴距离
(输出)DZ:平移Z轴距离
PoseNewOrigin:新的原点位姿[X’,Y’,Z’,U,V,W,0]

这里写图片描述
按halcon手册介绍,set_origin_pose就是将PoseIn位姿先转换成3X4矩阵HomMat3DIn,然后再和平移矩阵相乘得到HomMat3DNewOrigin,最后再转换成新的位姿PoseNewOrigin。

例:
pos:=[1.0,2.0,3.0,4.0,5.0,6.0,0]
set_origin_pose(pos, 0, 0, 1, PoseNewOrigin)
pose_to_hom_mat3d(pos,HomMat3D)
hom_mat3d_translate_local(HomMat3D, 0, 0, 1, HomMat3DTranslate)
hom_mat3d_to_pose(HomMat3DTranslate, Pose)
最后PoseNewOrigin和Pose得出来的值一样
这里写图片描述

注:旋转姿态UVW是按欧拉角XYZ形式转换的
这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值