2013-03-05 71 views
0

我正在研究用於標記檢測的代碼。來自我的網絡攝像頭我正在輸入標記的圖像,它內部的這個標記有一個參考點。我必須檢測參考點。因此,我需要一些變形方法。我知道如何通過做二維變形cvGetPerspectiveTransform()cvWarpPerspective()在opencv.but我想問有沒有什麼辦法,我可以產生一些可用於三維變形的三維透視變換矩陣。OpenCV中的三維變形用於標記檢測

cvGetPerspectiveTransform(rectangles[rectIndex].OuterCorner, dstCorners,map_matrix); 
cvWarpPerspective(workGrayImg,projectedImg,map_matrix,CV_INTER_LINEAR |CV_WARP_FILL_OUTLIERS ,   
cvScalarAll (0)); 
+0

你想做什麼?你試圖根據立體視覺,POSIT(知名物體的姿勢和座標)或其他東西來製作一些東西嗎? – morynicz 2013-03-05 09:13:29

+0

我的標記有**二進制信息**。相對於參考點,該二進制信息的讀取將開始。我的相機視圖是640 * 480.my的目標是將我的標記從該640 * 480視圖映射到240 * 240像素平面。 – 2013-03-05 10:12:06

+0

是你的標記有點像[this?](https://www.studentrobotics.org/images/content/marker-0.png) – morynicz 2013-03-06 21:25:00

回答

1

有一個名爲ArUco,做你正在嘗試做的,我猜小型圖書館。因爲它是開源的,你可以檢查他們是如何做到的。

據我所知你需要首先找到標記,然後使其成爲方形,所以你可以閱讀裏面包含的信息。您還可以查找用於QRcodes的方法。

+0

在C++中有任何示例代碼,用於使用ARuco庫檢測標記。 – 2013-03-11 08:48:48

+0

查看'aruco-s​​rc/utils'中的'aruco_test_board.cpp' – morynicz 2013-03-11 09:41:37