Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于透视变换的匹配想法 #47

Open
ershat-dl opened this issue Sep 5, 2023 · 7 comments
Open

关于透视变换的匹配想法 #47

ershat-dl opened this issue Sep 5, 2023 · 7 comments

Comments

@ershat-dl
Copy link

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

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

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

@DennisLiu1993
Copy link
Owner

工業方法用1.
opencv keyword: perspectiveTransform

@ershat-dl
Copy link
Author

工業方法用1. opencv keyword: perspectiveTransform

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

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

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

@DennisLiu1993
Copy link
Owner

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

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

@DennisLiu1993
Copy link
Owner

DennisLiu1993 commented Sep 9, 2023

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

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

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

@ershat-dl
Copy link
Author

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

@ershat-dl
Copy link
Author

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

@DennisLiu1993
Copy link
Owner

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants