我是 opencv 和圖像相關幾何的新手。但現在我正在處理一些圖像處理任務。這是我所做的:給定 pts_src、pts_dst,我用 cv2.findHomograpy() 和 cv2.warpPerspective() 扭曲了整個圖像cv2.findHomography 為我提供了一個 3x3 的單應矩陣。cv2.warpPerspective() 為我提供了一個扭曲的圖像,我可以從這個扭曲的圖像中檢測到一些特征點。但是,我需要將特征點坐標映射回原始輸入圖像。有人可以告訴我如何實現嗎?
1 回答

不負相思意
TA貢獻1777條經驗 獲得超10個贊
我認為單應矩陣的逆矩陣將是從pts_dst
回映射到的新矩陣pts_src
。
正如您在評論中所說并如此處所示,您的第三個分量似乎確實是w
結果向量的比例系數:
(x, y) → (x′/w, y′/w)
其中(x′, y′, w′) = mat ? [x y 1]
(...) 在 2D 矢量變換的情況下,z 分量被省略。
所以你可以通過做來重新調整它(V[0]/V[2], V[1]/V[2])
,就像你在評論中提到的那樣。
另外,我認為這個比例因子與矩陣的生成方式有關,所以請檢查矩陣的詳細信息,正如官方文檔所說cv2.findHomography()
:
單應矩陣被確定為一個尺度。因此,它被歸一化,使得 h33=1。
希望這可以幫助!
添加回答
舉報
0/150
提交
取消