2013-03-05 40 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