关于透视变换的匹配想法
现在 匹配的场景是 相机和平面90度的, 有些场景可能不是直视的。如何相机和场景平面之间存在角度。 如果是这种场景 这匹配算法就不起作用了。
我目前想到的两种方案: 1. 标定相机,把平面透视校正 2. 放弃模板匹配,使用特征的匹配
关于这个问题 有什么解决方案 或 理论想法?
工業方法用1. opencv keyword: perspectiveTransform
工業方法用1. opencv keyword: perspectiveTransform
这几天我研究了一下opencv的透视变换,不太成功, 这里总结一下:
- 标定相机, 获得 相机内参和外参
- 试图透视校正标定板所属的平面 (假设z=0)(失败)
第2步 选择四组点可以校正过来了, 但是这是不太适合实际应用。
halcon有一个算子 gen_image_to_world_plane_map , 然后使用 map_image 轻松的校正透视变形。
我试图实现这种效果,但失败了。
有什么好的建议和想法吗?
- 選擇>4點都可以校正 為何不適合實際應用?
在一個傾斜平面上偵測標定版上的點(得到世界座標mm), 在通過計算得到圖像上的對應點 (像素座標)即可將傾斜面轉換為平面
- 選擇>4點都可以校正 為何不適合實際應用?
在一個傾斜平面上偵測標定版上的點(得到世界座標mm), 在通過計算得到圖像上的對應點 (像素座標)即可將傾斜面轉換為平面
https://youtu.be/tqIDBd98QGI?t=58
精度不如标定板。而且需要手动选择4点。 根据halcon的用法, 所需的平面只需标定一次, 获得相机的内参和外参,然后生成projective map, 这样就没必要每次都要warpPrespective.直接用remap 更快的。
类似于旋转角度的处理, 我可以提前生成好很多可能的透视变形的模板图像, 然后循环匹配。 这样确实值得试一试。但是影响匹配时间
精度不如标定板。而且需要手动选择4点。 根据halcon的用法, 所需的平面只需标定一次, 获得相机的内参和外参,然后生成projective map, 这样就没必要每次都要warpPrespective.直接用remap 更快的。
warpPerspective是可以轉換成remap的 可以查一下