所以問題是我有一個矩形的3D投影,我想變成2D。那是我有一張放在桌子上的一張紙的照片,我想轉換成該張紙的二維視圖。所以我需要的是通過恢復所有3D /投影轉換並從頂部獲得平面視圖來獲得未失真的2D圖像。我碰巧找到了關於這個問題的一些方向,但他們並沒有建議如何實現這一目標的直接指示。逐步指導需要完成的工作將非常有幫助。或者,也可以指向資源的鏈接,將其分解爲一些細節。投影幾何:我如何將3D矩形的投影變成2D視圖
回答
您需要更多信息才能做到這一點。 例如紙張的大小。 假設你有。
您需要了解的內容稱爲「單應性」。 這基本上是以下情況:
你有相同的平面(你的紙),你從兩個不同的相機拍攝它的照片(說一個是你有的實際圖像,另一個是一個你想獲得的 - 相機正好在紙張上方的那個)。
存在從一個圖像的2D空間到另一個圖像的2D空間(單應性)的轉換,您的目標是找到它。一旦找到它,只需將其應用於圖像即可獲得頂視圖。
爲了找到單應性矩陣,您需要(至少)4個點,它們的座標在BOTH圖像中是已知的。
這些點的明顯選擇當然是紙張的頂點。 在你有圖像的時候,你可以手工找到這些圖像。 在目標圖像中,您可以選擇使圖紙居中的圖像(0,0),瞭解圖像的尺寸。
有大量關於4點在線單應矩陣的信息。 This是我來到第一隻有一個,所以必須有更好的資源在那裏:)
注意,通常這些計算都是在2D射影空間完成的,因爲這是一個射影變換。
謝謝,非常豐富。 –
如果您對紙張的形狀一無所知 - 如果紙張可以是任意的四邊形,則Petar的答案是正確的。但由於論文是一個矩形,所以這限制了足夠的問題來確定單應性而不需要知道矩形的長寬比。
有關如何操作的詳細信息,請參閱Microsoft Research's "Whiteboard It!" paper的第4部分。
如果您對頂點進行了正確的3D - > 2D變換,它應該可以正常工作。 起點是研究達芬奇的三維點 - >二維點投影幾何模型。
- 1. 如何變換一個投影的3D矩形成2D軸線對齊矩形
- 2. 如何在2D平面上投影3D?
- 3. 將2D圖像變換爲3D平面上的3D投影
- 4. 投影和視圖矩陣
- 5. 投影儀校準的幾何視圖
- 6. 將2D點投影到3D Plucker線
- 7. 將3D點投影到2D點
- 8. 3D投影如何工作?
- 9. 在java中的3d圖形。投影
- 10. 4D到3D透視投影
- 11. 矩陣乘法 - 視圖/投影,世界/投影等
- 12. 2D投影的3D點位置
- 13. Matlab:3D功能的2D投影
- 14. Paraview:查看3D對象的2D投影
- 15. 如何使用透視投影矩陣?
- 16. 投影矩陣
- 17. 投影矩陣
- 18. 使用MATLAB投影矩陣反投影
- 19. Three.js投影矩陣不投影
- 20. 將點雲投影到2D
- 21. WebGL透視投影矩陣
- 22. 3D投影映射
- 23. 3D投影信息
- 24. 投影多變量分佈到2D圖?
- 25. 在Python中創建3D矩陣的2D投影
- 26. OpenGL 2D投影矩陣問題
- 27. WP7透視變換(3D矩陣vs平面投影)
- 28. 計算視圖投影矩陣
- 29. OpenGL模型,視圖,投影矩陣
- 30. OpenGL投影,視圖和世界矩陣
不知道,如果我理解你的權利,但可能是你正在尋找ProjMatrix http://www.songho.ca/opengl/gl_projectionmatrix.html – JAre