使用OpenCV和Python检测标记
我正在尝试在网络摄像头的视频中识别一个标记,并在这个标记上叠加一个3D物体——基本上就是像这个链接里说的那样:http://www.morethantechnical.com/2009/06/28/augmented-reality-with-nyartoolkit-opencv-opengl/
我知道artoolkit是做这个的最佳工具,但我希望能用Python里的opencv来实现,因为我对C/C++的了解不够,没法使用artoolkit。我希望有人能帮我找到正确的方法来识别这个标记,并确定它的位置和方向等,因为我完全不知道该怎么做,也不知道应该使用哪些函数。
2 个回答
2
OpenCV本身并不提供标记检测或追踪的功能。不过,它提供了实现这些功能所需的所有算法,所以自己动手做其实很简单。
你提到的那篇文章只用OpenCV来抓取视频,标记的检测是通过NyARToolkit来完成的,NyARToolkit是从ARToolkit发展而来的。NyARToolkit有Java、C#和ActionScript的版本。
ARToolkit主要是用普通的C语言写的,没有使用复杂的C++特性。其实它用起来可能比你想象的要简单。文档里有很多解释清楚的教程。例如,你可以查看这个链接:http://www.hitl.washington.edu/artoolkit/documentation/devstartup.htm
即使你决定不使用ARToolkit,入门文档也能帮助你理解标记检测的过程。