实例介绍
该程序通过OpenCV实现对Marker的识别和定位,然后通过OpenGL将虚拟物体叠加到摄像头图像下,实现增强现实。 程序在OpenFrameworks下开发,解压后放在“OF安装目录\apps\myApps”下打开编译。
【实例截图】
【核心代码】
MarkerAR
`-- MarkerAR
|-- AR Markers.pdf
|-- MarkerAR.sdf
|-- MarkerAR.sln
|-- MarkerAR.v11.suo
|-- MarkerAR.vcxproj
|-- MarkerAR.vcxproj.filters
|-- MarkerAR.vcxproj.user
|-- addons.make
|-- bin
| |-- 2014-11-24-11-20-04-376.jpg
| |-- 2014-11-24-11-20-34-227.jpg
| |-- 2014-11-24-11-21-01-859.jpg
| |-- 2014-11-24-11-21-16-073.jpg
| |-- 2014-11-24-11-21-49-870.jpg
| |-- 2014-11-24-11-22-17-545.jpg
| |-- 2014-11-24-11-22-42-858.jpg
| |-- 2014-11-24-11-22-50-514.jpg
| |-- 2014-11-24-11-23-24-378.jpg
| |-- Assimp32.dll
| |-- FreeImage.dll
| |-- FreeType-6.dll
| |-- MarkerAR.exe
| |-- MarkerAR.exp
| |-- MarkerAR.lib
| |-- MarkerAR_debug.exe
| |-- MarkerAR_debug.exp
| |-- MarkerAR_debug.ilk
| |-- MarkerAR_debug.lib
| |-- MarkerAR_debug.pdb
| |-- Zlib.dll
| |-- data
| | |-- Pictures
| | | `-- turbochi_new_Final3.png
| | |-- TurbochiFromXSI.dae
| | |-- astroBoy_walk.dae
| | |-- axe.jpg
| | |-- boy_10.tga
| | |-- dwarf.jpg
| | |-- dwarf.x
| | |-- monster-animated-character-X.X
| | |-- monster.jpg
| | `-- squirrel
| | |-- NewSquirrel.3ds
| | |-- Squirrel.jpg
| | `-- readme.txt
| |-- fmodex.dll
| |-- fmodexL.dll
| |-- glut32.dll
| |-- libeay32.dll
| `-- ssleay32.dll
|-- icon.rc
|-- obj
| |-- Debug
| | |-- CL.read.1.tlog
| | |-- CL.write.1.tlog
| | |-- MarkerAR.lastbuildstate
| | |-- MarkerAR.log
| | |-- MarkerAR.vcxprojResolveAssemblyReference.cache
| | |-- MarkerAR.write.1.tlog
| | |-- MarkerRecognizer.obj
| | |-- cl.command.1.tlog
| | |-- icon.res
| | |-- link-cvtres.read.1.tlog
| | |-- link-cvtres.write.1.tlog
| | |-- link-rc.read.1.tlog
| | |-- link-rc.write.1.tlog
| | |-- link.1012-cvtres.read.1.tlog
| | |-- link.1012-cvtres.write.1.tlog
| | |-- link.1012-rc.read.1.tlog
| | |-- link.1012-rc.write.1.tlog
| | |-- link.1012.read.1.tlog
| | |-- link.1012.write.1.tlog
| | |-- link.2680-cvtres.read.1.tlog
| | |-- link.2680-cvtres.write.1.tlog
| | |-- link.2680-rc.read.1.tlog
| | |-- link.2680-rc.write.1.tlog
| | |-- link.2680.read.1.tlog
| | |-- link.2680.write.1.tlog
| | |-- link.3312-cvtres.read.1.tlog
| | |-- link.3312-cvtres.write.1.tlog
| | |-- link.3312-rc.read.1.tlog
| | |-- link.3312-rc.write.1.tlog
| | |-- link.3312.read.1.tlog
| | |-- link.3312.write.1.tlog
| | |-- link.3748-cvtres.read.1.tlog
| | |-- link.3748-cvtres.write.1.tlog
| | |-- link.3748-rc.read.1.tlog
| | |-- link.3748-rc.write.1.tlog
| | |-- link.3748.read.1.tlog
| | |-- link.3748.write.1.tlog
| | |-- link.4000-cvtres.read.1.tlog
| | |-- link.4000-cvtres.write.1.tlog
| | |-- link.4000-rc.read.1.tlog
| | |-- link.4000-rc.write.1.tlog
| | |-- link.4000.read.1.tlog
| | |-- link.4000.write.1.tlog
| | |-- link.4448-cvtres.read.1.tlog
| | |-- link.4448-cvtres.write.1.tlog
| | |-- link.4448-rc.read.1.tlog
| | |-- link.4448-rc.write.1.tlog
| | |-- link.4448.read.1.tlog
| | |-- link.4448.write.1.tlog
| | |-- link.4784-cvtres.read.1.tlog
| | |-- link.4784-cvtres.write.1.tlog
| | |-- link.4784-rc.read.1.tlog
| | |-- link.4784-rc.write.1.tlog
| | |-- link.4784.read.1.tlog
| | |-- link.4784.write.1.tlog
| | |-- link.5164-cvtres.read.1.tlog
| | |-- link.5164-cvtres.write.1.tlog
| | |-- link.5164-rc.read.1.tlog
| | |-- link.5164-rc.write.1.tlog
| | |-- link.5164.read.1.tlog
| | |-- link.5164.write.1.tlog
| | |-- link.6036-cvtres.read.1.tlog
| | |-- link.6036-cvtres.write.1.tlog
| | |-- link.6036-rc.read.1.tlog
| | |-- link.6036-rc.write.1.tlog
| | |-- link.6036.read.1.tlog
| | |-- link.6036.write.1.tlog
| | |-- link.6512-cvtres.read.1.tlog
| | |-- link.6512-cvtres.write.1.tlog
| | |-- link.6512-rc.read.1.tlog
| | |-- link.6512-rc.write.1.tlog
| | |-- link.6512.read.1.tlog
| | |-- link.6512.write.1.tlog
| | |-- link.6916-cvtres.read.1.tlog
| | |-- link.6916-cvtres.write.1.tlog
| | |-- link.6916-rc.read.1.tlog
| | |-- link.6916-rc.write.1.tlog
| | |-- link.6916.read.1.tlog
| | |-- link.6916.write.1.tlog
| | |-- link.7728-cvtres.read.1.tlog
| | |-- link.7728-cvtres.write.1.tlog
| | |-- link.7728-rc.read.1.tlog
| | |-- link.7728-rc.write.1.tlog
| | |-- link.7728.read.1.tlog
| | |-- link.7728.write.1.tlog
| | |-- link.7736-cvtres.read.1.tlog
| | |-- link.7736-cvtres.write.1.tlog
| | |-- link.7736-rc.read.1.tlog
| | |-- link.7736-rc.write.1.tlog
| | |-- link.7736.read.1.tlog
| | |-- link.7736.write.1.tlog
| | |-- link.7764-cvtres.read.1.tlog
| | |-- link.7764-cvtres.write.1.tlog
| | |-- link.7764-rc.read.1.tlog
| | |-- link.7764-rc.write.1.tlog
| | |-- link.7764.read.1.tlog
| | |-- link.7764.write.1.tlog
| | |-- link.7952-cvtres.read.1.tlog
| | |-- link.7952-cvtres.write.1.tlog
| | |-- link.7952-rc.read.1.tlog
| | |-- link.7952-rc.write.1.tlog
| | |-- link.7952.read.1.tlog
| | |-- link.7952.write.1.tlog
| | |-- link.7996-cvtres.read.1.tlog
| | |-- link.7996-cvtres.write.1.tlog
| | |-- link.7996-rc.read.1.tlog
| | |-- link.7996-rc.write.1.tlog
| | |-- link.7996.read.1.tlog
| | |-- link.7996.write.1.tlog
| | |-- link.8208-cvtres.read.1.tlog
| | |-- link.8208-cvtres.write.1.tlog
| | |-- link.8208-rc.read.1.tlog
| | |-- link.8208-rc.write.1.tlog
| | |-- link.8208.read.1.tlog
| | |-- link.8208.write.1.tlog
| | |-- link.8232-cvtres.read.1.tlog
| | |-- link.8232-cvtres.write.1.tlog
| | |-- link.8232-rc.read.1.tlog
| | |-- link.8232-rc.write.1.tlog
| | |-- link.8232.read.1.tlog
| | |-- link.8232.write.1.tlog
| | |-- link.8324-cvtres.read.1.tlog
| | |-- link.8324-cvtres.write.1.tlog
| | |-- link.8324-rc.read.1.tlog
| | |-- link.8324-rc.write.1.tlog
| | |-- link.8324.read.1.tlog
| | |-- link.8324.write.1.tlog
| | |-- link.8364-cvtres.read.1.tlog
| | |-- link.8364-cvtres.write.1.tlog
| | |-- link.8364-rc.read.1.tlog
| | |-- link.8364-rc.write.1.tlog
| | |-- link.8364.read.1.tlog
| | |-- link.8364.write.1.tlog
| | |-- link.8424-cvtres.read.1.tlog
| | |-- link.8424-cvtres.write.1.tlog
| | |-- link.8424-rc.read.1.tlog
| | |-- link.8424-rc.write.1.tlog
| | |-- link.8424.read.1.tlog
| | |-- link.8424.write.1.tlog
| | |-- link.8436-cvtres.read.1.tlog
| | |-- link.8436-cvtres.write.1.tlog
| | |-- link.8436-rc.read.1.tlog
| | |-- link.8436-rc.write.1.tlog
| | |-- link.8436.read.1.tlog
| | |-- link.8436.write.1.tlog
| | |-- link.8612-cvtres.read.1.tlog
| | |-- link.8612-cvtres.write.1.tlog
| | |-- link.8612-rc.read.1.tlog
| | |-- link.8612-rc.write.1.tlog
| | |-- link.8612.read.1.tlog
| | |-- link.8612.write.1.tlog
| | |-- link.8648-cvtres.read.1.tlog
| | |-- link.8648-cvtres.write.1.tlog
| | |-- link.8648-rc.read.1.tlog
| | |-- link.8648-rc.write.1.tlog
| | |-- link.8648.read.1.tlog
| | |-- link.8648.write.1.tlog
| | |-- link.8720-cvtres.read.1.tlog
| | |-- link.8720-cvtres.write.1.tlog
| | |-- link.8720-rc.read.1.tlog
| | |-- link.8720-rc.write.1.tlog
| | |-- link.8720.read.1.tlog
| | |-- link.8720.write.1.tlog
| | |-- link.8792-cvtres.read.1.tlog
| | |-- link.8792-cvtres.write.1.tlog
| | |-- link.8792-rc.read.1.tlog
| | |-- link.8792-rc.write.1.tlog
| | |-- link.8792.read.1.tlog
| | |-- link.8792.write.1.tlog
| | |-- link.8800-cvtres.read.1.tlog
| | |-- link.8800-cvtres.write.1.tlog
| | |-- link.8800-rc.read.1.tlog
| | |-- link.8800-rc.write.1.tlog
| | |-- link.8800.read.1.tlog
| | |-- link.8800.write.1.tlog
| | |-- link.8836-cvtres.read.1.tlog
| | |-- link.8836-cvtres.write.1.tlog
| | |-- link.8836-rc.read.1.tlog
| | |-- link.8836-rc.write.1.tlog
| | |-- link.8836.read.1.tlog
| | |-- link.8836.write.1.tlog
| | |-- link.9208-cvtres.read.1.tlog
| | |-- link.9208-cvtres.write.1.tlog
| | |-- link.9208-rc.read.1.tlog
| | |-- link.9208-rc.write.1.tlog
| | |-- link.9208.read.1.tlog
| | |-- link.9208.write.1.tlog
| | |-- link.command.1.tlog
| | |-- link.read.1.tlog
| | |-- link.write.1.tlog
| | |-- main.obj
| | |-- ofApp.obj
| | |-- ofxAssimpAnimation.obj
| | |-- ofxAssimpMeshHelper.obj
| | |-- ofxAssimpModelLoader.obj
| | |-- ofxAssimpTexture.obj
| | |-- ofxXmlSettings.obj
| | |-- rc.command.1.tlog
| | |-- rc.read.1.tlog
| | |-- rc.write.1.tlog
| | |-- tinyxml.obj
| | |-- tinyxmlerror.obj
| | |-- tinyxmlparser.obj
| | |-- vc110.idb
| | `-- vc110.pdb
| `-- Release
| |-- CL.read.1.tlog
| |-- CL.write.1.tlog
| |-- MarkerAR.lastbuildstate
| |-- MarkerAR.log
| |-- MarkerAR.vcxprojResolveAssemblyReference.cache
| |-- MarkerAR.write.1.tlog
| |-- MarkerRecognizer.obj
| |-- cl.command.1.tlog
| |-- icon.res
| |-- link-cvtres.read.1.tlog
| |-- link-cvtres.write.1.tlog
| |-- link-rc.read.1.tlog
| |-- link-rc.write.1.tlog
| |-- link.command.1.tlog
| |-- link.read.1.tlog
| |-- link.write.1.tlog
| |-- main.obj
| |-- ofApp.obj
| |-- ofxAssimpAnimation.obj
| |-- ofxAssimpMeshHelper.obj
| |-- ofxAssimpModelLoader.obj
| |-- ofxAssimpTexture.obj
| |-- ofxXmlSettings.obj
| |-- rc.command.1.tlog
| |-- rc.read.1.tlog
| |-- rc.write.1.tlog
| |-- tinyxml.obj
| |-- tinyxmlerror.obj
| |-- tinyxmlparser.obj
| `-- vc110.pdb
`-- src
|-- MarkerRecognizer.cpp
|-- MarkerRecognizer.h
|-- main.cpp
|-- ofApp.cpp
`-- ofApp.h
9 directories, 287 files
标签:
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论