我有两张图片(如下所示),它们代表一对电缆的轮廓,并使用基于激光的3D三角测量捕获。第一张图片是用左侧相机捕获的,而第二张是用右侧相机捕获的。可以看到,这些图像部分重叠。第一张图像上的左侧部分部分对应于第二张图像上的左侧部分。同样适用于右边部分。我想将这两个图像合并成一个图像,使相应的部分重叠。
除了这些图像之外,我还有以下信息:
- 左右相机的3x3单应性矩阵
H
- 左右相机的内参矩阵
K
- 左右相机的畸变系数
D
(9个) - 左右相机的偏移量
O
此数据如下所示。
在Halcon中,我尝试使用镶嵌来完成此操作:
- 使用哈里斯在两个图像中提取特征点
- 使用Ransac从一个图像计算出投影变换矩阵到另一个图像。
- 应用找到的投影变换矩阵。
但是这种方法并不成功。我正在寻找一种类似的方法在OpenCV或Halcon中,或者一种利用我拥有的校准数据(如单应性矩阵和相机矩阵)的方法,也可以在OpenCV或Halcon中。
如果可能,请提供充分的解释,因为我刚刚开始使用机器视觉。
Hl := [0.00175186, 4.73083e-05, -0.00108921,
0.000780817, -0.00145615, 0.00118631,
0.0534139, -0.030823, 1.0 ]
Kl := [4578.21, -5.05144, 759.766,
0.0, 4576.87, 568.223,
0.0, 0.0, 1.0 ]
Dl := [-0.12573, 0.0533453, -0.575361, -0.0130272, 0.00348033, 0.00852617, -0.0271142, 0.0176706, -0.00575124]
Ol := [0.0, 150.0]
Hr := [0.00173883, -2.94597e-05, 0.00109873,
-0.00077676, -0.0014687, 0.00121393,
-0.0653829, -0.0443924, 1.0 ]
Kr := [4591.96, -4.55317, 1284.74,
0.0, 4591.19, 534.317,
0.0, 0.0, 1.0 ]
Dr := [-0.110751, -0.349716, 3.86535, 0.017393, -0.00364957, -0.00633656, 0.0338833, -0.0212222, 0.00543694]
Or := [0.0, 100.0]
Hl
矩阵和Ol
矩阵组合起来是否形成了左相机的外参(其中Hl
是3x3旋转矩阵,Ol
是平移矩阵)? - JNevens