Fastest_Image_Pattern_Matching icon indicating copy to clipboard operation
Fastest_Image_Pattern_Matching copied to clipboard

关于透视变换的匹配想法

Open ershat-dl opened this issue 2 years ago • 7 comments

现在 匹配的场景是 相机和平面90度的, 有些场景可能不是直视的。如何相机和场景平面之间存在角度。 如果是这种场景 这匹配算法就不起作用了。

我目前想到的两种方案: 1. 标定相机,把平面透视校正 2. 放弃模板匹配,使用特征的匹配

关于这个问题 有什么解决方案 或 理论想法?

ershat-dl avatar Sep 05 '23 08:09 ershat-dl

工業方法用1. opencv keyword: perspectiveTransform

DennisLiu1993 avatar Sep 07 '23 06:09 DennisLiu1993

工業方法用1. opencv keyword: perspectiveTransform

这几天我研究了一下opencv的透视变换,不太成功, 这里总结一下:

  1. 标定相机, 获得 相机内参和外参
  2. 试图透视校正标定板所属的平面 (假设z=0)(失败)

第2步 选择四组点可以校正过来了, 但是这是不太适合实际应用。 halcon有一个算子 gen_image_to_world_plane_map , 然后使用 map_image 轻松的校正透视变形。 我试图实现这种效果,但失败了。 有什么好的建议和想法吗?

ershat-dl avatar Sep 08 '23 06:09 ershat-dl

  1. 選擇>4點都可以校正 為何不適合實際應用?

在一個傾斜平面上偵測標定版上的點(得到世界座標mm), 在通過計算得到圖像上的對應點 (像素座標)即可將傾斜面轉換為平面

DennisLiu1993 avatar Sep 09 '23 04:09 DennisLiu1993

  1. 選擇>4點都可以校正 為何不適合實際應用?

在一個傾斜平面上偵測標定版上的點(得到世界座標mm), 在通過計算得到圖像上的對應點 (像素座標)即可將傾斜面轉換為平面

https://youtu.be/tqIDBd98QGI?t=58

DennisLiu1993 avatar Sep 09 '23 04:09 DennisLiu1993

精度不如标定板。而且需要手动选择4点。 根据halcon的用法, 所需的平面只需标定一次, 获得相机的内参和外参,然后生成projective map, 这样就没必要每次都要warpPrespective.直接用remap 更快的。

ershat-dl avatar Sep 11 '23 02:09 ershat-dl

类似于旋转角度的处理, 我可以提前生成好很多可能的透视变形的模板图像, 然后循环匹配。 这样确实值得试一试。但是影响匹配时间

ershat-dl avatar Sep 11 '23 02:09 ershat-dl

精度不如标定板。而且需要手动选择4点。 根据halcon的用法, 所需的平面只需标定一次, 获得相机的内参和外参,然后生成projective map, 这样就没必要每次都要warpPrespective.直接用remap 更快的。

warpPerspective是可以轉換成remap的 可以查一下

DennisLiu1993 avatar Sep 12 '23 23:09 DennisLiu1993