Halcon - 将坐标转移到不同的平面

Posted

技术标签:

【中文标题】Halcon - 将坐标转移到不同的平面【英文标题】:Halcon - Shift coordinates to a different plane 【发布时间】:2021-03-15 05:31:16 【问题描述】:

我有相对于姿势上特定平面的坐标 (X/Y)。

我需要知道 Y 值如何变化,如果从相机的视角将点投影到另一个平面,该平面位于 Z 方向上 10 毫米之外。

我发现的唯一方法是使用project_3d_point 将我的 X/Y 点转换为图像坐标,然后使用 z 位移姿势将其转换回世界坐标。 问题在于图像分辨率太低而无法获得精确值。这可以在不使用图像坐标的情况下计算吗?在图片中,我有 Y1 和 Y2,需要 Y3 和 Y4。

编辑:

这是我试图解决的其他问题,但我很确定它是垃圾:

计算姿势是在原点姿势的姿势。 Z=0.01

             set_origin_pose (CalculationPose, 0, 0, Z, ZShiftedPose)
             
             pose_to_hom_mat3d(ZShiftedPose, HomMat3D)   
             
             projective_trans_point_3d( HomMat3D, 0, Y1, 0, dummy, ZY1, dummy)

编辑 2:

这行得通,但它非常丑陋。有没有更聪明更好的方法来解决这个问题?

             set_origin_pose (CalculationPose, 0, 0, Z, ZShiftedPose)
             
             pose_to_hom_mat3d(CalculationPose, HomMat3DCalc)           
             pose_to_hom_mat3d(ZShiftedPose, HomMat3DShift)  

             affine_trans_point_3d(HomMat3DCalc, 0, Y1, Z, a, b, c)                 
             project_3d_point( a, b, c, CameraParam , Row, Column)
             image_points_to_world_plane(CameraParam, CalculationPose,Row,Column,'mm',dummy,Y3)
             
            

【问题讨论】:

【参考方案1】:

试试这个:

* -----------
* Data simulation
* -----------

* Camera Pose
TransX := 0
TransY := -0.5
TransZ := 1
RotX := 30
RotY := 0
RotZ := 0
OrderOfTransform := 'Rp+T'
OrderOfRotation := 'gba'
ViewOfTransform  := 'point'

create_pose (TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform , OrderOfRotation, ViewOfTransform , CamPose)

Focal_m := 0.00173333
PixelSize_m :=5.2e-006
CameraParam := [Focal_m, 0, PixelSize_m , PixelSize_m , 640, 512, 1280, 1024]

* Point1 with world coordinate system
Xw1 :=0
Yw1 :=0.2
Zw1 :=0

* -----------
* Calculation
* -----------

* Focal Point with world coordinate system
Xfocalw := -CamPose[0]
Yfocalw := -CamPose[1]
Zfocalw := -CamPose[2]

Zw3 :=0.1
Xw3 := 1.0*(Xw1-Xfocalw)/(Zw1-Zfocalw)*(Zw3-Zw1)+Xw1
Yw3 := 1.0*(Yw1-Yfocalw)/(Zw1-Zfocalw)*(Zw3-Zw1)+Yw1

【讨论】:

以上是关于Halcon - 将坐标转移到不同的平面的主要内容,如果未能解决你的问题,请参考以下文章

Halcon18 windows 下载

Halcon17 windows 下载

相机标定的内参、外参、畸变参数

halcon怎么将相机坐标转换为机械手坐标

Halcon中的坐标系特点及XLD的镜像转换

图像处理halcon实现图像亚像素边缘轮廓坐标提取并存储