所以我對OpenCV(2.1)很新,所以請記住這一點。OpenCV cvRemap裁剪圖像
所以我設法校準我使用的廉價網絡攝像頭(使用廣角附件),使用棋盤校準方法產生內在和失真係數。
然後,我可以毫無困難地重新輸入這些值並生成圖像映射,然後將其應用於視頻輸入以更正輸入圖像。
但是我遇到了一個問題。我知道它何時扭曲/校正圖像,它會創建多個傾斜部分,然後對圖像進行格式化以剪出任何黑色區域。我的問題是,我可以查看完整的扭曲圖像,包括一些有黑色區域的區域嗎?以下是我嘗試傳達的黑色區域的示例,如果我的術語已關閉:
更好地傳達我所說的區域的圖像可以是found here!此圖像在post中被發現。
當前: cvRemap()基本上返回上面鏈接的圖像中的黃色框,但我希望看到整個圖像,因爲有相關數據我希望從中獲得。
我已經試過什麼:將縮放轉換到圖像映射到完整的圖像(包括拉伸部件)裝入框架
CvMat *intrinsic = (CvMat*)cvLoad("Intrinsics.xml");
CvMat *distortion = (CvMat*)cvLoad("Distortion.xml");
cvInitUndistortMap(intrinsic, distortion, mapx, mapy);
cvConvertScale(mapx, mapx, 1.25, -shift_x); // Some sort of scale conversion
cvConvertScale(mapy, mapy, 1.25, -shift_y); // applied to the image map
cvRemap(distorted,undistorted,mapx,mapy);
的cvConvertScale,當我想我已經對準了X/y正確地移動(猜測/檢查),是以某種方式扭曲圖像地圖使得校正無用。這裏可能涉及到一些數學問題,我沒有正確跟蹤/理解。
有沒有人有任何其他建議來解決這個問題,或者我可能做錯了什麼?我也嘗試寫我自己的代碼來修復失真問題,但讓我們只是說OpenCV已經知道如何做得很好。
mathematical.coffee,我不能夠感謝你。這正是我所需要的,並且詳細的解決方案,我能夠相應地實現它!非常感謝! – user1145707 2012-01-13 14:32:57
不用擔心:)它花了我永遠的工作(我發現在線文檔有時難以理解,特別是當我使用python界面時)。一個非常寶貴的資源(我發現)是OpenCV包含的例子(在'OpenCV-2.x.x/samples/pick_your_language'中)。 – 2012-01-14 00:41:54
但修正圖像仍然有黑色區域或邊界。 – Abc 2017-07-04 08:31:45