回答
遇到被稱爲 「桶形畸變」 的失真。一個技術名稱爲「徑向畸變和切向失真組合」
你的問題的解決方案是OpenCV的攝像機標定模塊。只要谷歌它,你會發現在openCV維基文件。此外,openCV已經內置了源代碼示例來說明如何校準相機。
基本上,你需要打印一個國際象棋棋盤的圖像,利用它的一些照片,運行校準模塊(建法)並獲得儘可能輸出變換矩陣。對於應用此矩陣的每個視頻幀(我認爲這種方法稱爲cvUndistort()
),並且它會拉直圖像中的曲線。 注意:如果您更改相機的變焦或焦距,它將不起作用。
如果攝像機細節不可用,無法控制 - 那麼你的問題是非常嚴重的。有一種方法可以解決失真問題,但我不知道openCV是否內置了模塊。恐怕你需要編寫很多代碼。
基本上 - 你需要檢測儘可能長的線。然後從這些線條(垂直和水平)你建立一個交點網格。最後,您將這些點的網格放入openCV校準模塊。 如果你有足夠的交點(比如說20或更多),你將能夠計算出失真矩陣並且使圖像失真。
您將無法在相機完全校準。換句話說,您將無法運行一次計算預期失真的過程。相反 - 在每個視頻幀中,您都將直接計算失真矩陣 - 將其逆轉並且不失真地對圖像進行扭曲。 如果你不熟悉圖像處理技術或無法找到直接解決您的問題了可靠的開源代碼 - 那麼恐怕你將無法消除失真。對不起
相機詳細信息不可用 –
我編輯了我的答案以包含您的評論 – DanielHsH
- 1. OpenCV stereoRectify扭曲圖像
- 2. Opencv - 圓形圖像扭曲
- 3. 如何扭曲OpenCV中的圖像?
- 4. 找到輪廓後Opencv圖像扭曲
- 5. 扭曲的地圖圖像
- 6. 扭曲的位圖圖像
- 7. Opencv攝像機校準生成非常扭曲的圖像
- 8. VTK圖像扭曲?
- 9. Opencv:扭曲返回
- 10. 查找圖像(OpenCV的)扭曲的矩形
- 11. 從C#發送到C++ OpenCV後獲取扭曲的圖像?
- 12. 不能扭曲在opencv中的圖像C++
- 13. CGImageRef旋轉扭曲圖像
- 14. Android - 圖像扭曲效果
- 15. Python urllib2圖像扭曲
- 16. Android OpenGL ES扭曲圖像
- 17. Drupal圖像壓縮 - 扭曲圖像
- 18. PHP功能彎曲/扭曲圖像
- 19. 使用的OpenCV糾正的立體圖像
- 20. OpenCV在新圖像中旋轉,扭曲和翻譯ROI
- 21. HTC Desire上的扭曲背景圖像
- 22. iOS - CATiledLayer renderInContext:結果扭曲的圖像
- 23. 旋轉扭曲我的圖像
- 24. 如何扭曲火炬中的圖像
- 25. HoughLinesP OpenCV中的線條稍微扭曲
- 26. OpenCV:錄製扭曲的視頻
- 27. 衝浪圖像匹配器這與扭曲的結果
- 28. 臉部像箱子圖像扭曲
- 29. 縮放位圖輸出扭曲圖像
- 30. 使用高度圖扭曲圖像?
相關:http://mathematica.stackexchange.com/questions/26268/qr-code-in-shopping-cart-handle – RobAu