2015-10-22 60 views
1

正在做一個使用openCv跟蹤blob的安裝,並將圖形投影到blob上。問題是我的相機關閉並遠離投影機。OpenCv Blob跟蹤點相對於平面

我想獲得相對於投影的平面上的點的位置,我需要通過標記出飛機的拐角相機視圖中看到校準。

我的問題是我如何使用4點信息,然後從攝影機視圖投影平面轉換跟蹤斑點,所以投射圖形線與所跟蹤的斑點?不知道我應該搜索什麼。

回答

1

後您檢測4個角點,可以通過使用PerspectiveTransform計算變換到投影平面上。

一旦有了這種轉變,你可以使用warpPerspective,從一去的座標系到另一個。

+0

我實際上並不需要轉換任何圖像。我只需要計算點數。並獲得新的觀點。我實際上是通過對進行轉換的代碼進行逆向工程計算出來的。但我不確定是否有更好的方法來做到這一點。 [鏈接](http://wonderfl.net/c/GFLY) – intosite

+0

您不必使用轉換來轉換所有圖像,只需轉換blob座標即可。一旦你有了轉換矩陣,它非常簡單,請參閱[warpPerspective]中的公式(http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html#warparepective) –

+0

哦,這聽起來是正確的。看看這個方法,我怎樣才能得到變換矩陣? – intosite

0

不幸的是,我無法幫助目前最小的代碼示例,但我建議有一個看ofxCv和它的例子。有一個基於相機的undistort例子,但是封裝器還提供了用於通過warpPerspectiveunwarpPerspective進行變形/非變形透視的實用程序。

裸記住ofxCv具有方便的功能轉換到/從ofImagecv::MattoCv()toOf()

ofxCv可以更容易地使用OpenCV的功能埃拉德約瑟夫建議(這聽起來像你需要什麼)