Opencv-Markerless-AR+windows+vs2015

本文详细介绍了在Windows上使用Visual Studio 2015配置和运行OpenCV无标记AR项目的步骤,包括下载资源、解决库文件问题、安装GLUT和GLM库、配置zlib及libpng,以及解决编译和运行时遇到的各种问题。过程中涉及的库包括zlib、libpng、GLUT和Google Test,通过调整项目属性、添加头文件和库目录、处理预处理器定义等,最终成功运行AR项目。
摘要由CSDN通过智能技术生成

从GitHub上下载资源https://github.com/meiroo/opencv-markerless-AR

但是从这个网址上下载的资源好像有错误,故我又从GitHub上下载了另外一份资源https://github.com/takmin/OpenCV-Marker-less-AR

我将这一份的src替换了上一个重复的内容(因为之前库没配好,所以具体有什么样子的错误我不知道)

打开src中的install.txt可以看到这个demo需要

1.opencv,我的是2.4.13,安装好就可以了

2.GLUT3.7.6,我并没有安装这个库,直接从网上下载了一份包含动态链接库和头文件的glutdlls37beta.zip,

然后将压缩包内的glut.h放到.../Microsoft Visual Studio/VC98/Include/GL目录下

将glut32.lib放到.../Microsoft Visual Studio/VC98/Lib目录下
将glut32.dll放到X:/windows/systom32目录下(win98用户放到X:/windows/systom目录下)

具体的可以见http://blog.csdn.net/popkiler/article/details/1754276。

这样就配置好了。

3.GLMetaseq,这边说它需要libpng和zlib,因为我的opencv是通过cmake安装的,所以源码安装的我不清楚,但是我这样安装是没有把这两个库安装好的。所以我又在网上找libpng和zlib的安装方法。libpng需要使用zlib这个库,所以先安装zlib。

zlib    下载地址http://download.chinaunix.net/download.php?id=40893&ResourceID=12241

按照http://blog.csdn.net/jinxinliu1/article/details/42423035这个方法


本文主要介绍在Windows 7 64bit操作系统下,利用Visual Studio 2010,如何安装,生成,并使用zlib 1.2.5。
(1). 首先,使用Visual Studio 2010编译生成zlib 1.2.5版本的静态和动态链接库。
(2). 然后,通过加载静态链接库zlibstat.lib,实现对简单txt文档的压缩与解压缩。
(3). 最后,通过调用动态链接库zlibwapi.lib,实现对简单txt文档的压缩与解压缩。

1. 使用Visual Studio 2010编译生成zlib 1.2.5版本
   1). 从zlib官网 "http://zlib.NET/"
       下载最新版本的zlib "http://zlib.Net/zlib-1.2.5.tar.gz"
       解压,展开到系统盘。
   2). 在编译前,首先开启VS2010的Command Prompt (32bit)

   3). 进入到zlib-1.2.5contrib\masmx86目录 "zlib-1.2.5\contrib\masmx86",执行bld_ml32.bat。

   4). 这一步运行bld_ml32批处理文件,里面调用ml命令编译inffas32.asm和match686.asm,生成inffas32.obj和match686.obj。这两个文件在zlibvc中用到。

    5). 若是准备生成64位库,则进入到zlib-1.2.5contrib\masmx64目录 "zlib-1.2.5\contrib\masmx64",执行bld_ml64.bat。注意ml64.exe在vs2010的"Microsoft Visual Studio 10.0/VC/bin"下面找不到。我们需要使用"Microsoft Visual Studio 10.0/VC/bin/amd64/"下面的ml64.exe。这里可以简单将其复制到目录 "zlib-1.2.5\contrib\masmx64"下面(汗颜啊)。

       这一步运行bld_ml64批处理文件,里面调用ml命令编译gvmat64.asm和inffasx64.asm,生成gvmat64.obj和inffasx64.obj。这两个文件在zlibvc中用到。

   6). zlib的vs sln解决方案文件可以在如下路径中找到 "zlib-1.2.5\contrib\vstudio\vc10\zlibvc.sln"

在工具栏中将“解决方案平台”改为“x64”,编译即可

       这个解决方案中包含6个工程。其中:

       (1). zlibvc生成动态链接库zlibwapi.dll和对应的导入库zlibwapi.lib

注意:如果出现zlibvc.def(4): fatal error LNK1118: “VERSION语句中的语法错误,将VERSION删除再编译一次即可!

             如果出现 VS2012:error LNK2026: 模块对于 SAFESEH 映像是不安全的

解决方法:打开该项目的“属性页”对话框-->单击“链接器”节点-->单击“命令行”属性页--> /SAFESEH:NO 键入“附加选项”框中,然后点击应

       (2). zlibstat生成静态链接库zlibstat.lib

       (3). testzlibdll测试生成的动态链接库zlibwapi.dll

       (4). testzlib测试生成的静态链接库zlibstat.lib        

       最后我们在debug模式下编译整个解决方案。生成的dll和lib文件可在如下文件夹中找到

       "zlib-1.2.5\contrib\vstudio\vc10\x86"

       为了随后的调试方便,在随后的例子中,我们把头文件zconf.h,zlib.h放到如下文件夹

       "C:\MANUS\CommonSpace\zlib 1.2.5" 

       库文件zlibwapi.dll,zlibwapi.lib,zlibstat.lib放到如下文件夹

       "C:\MANUS\CommonSpace\zlib 1.2.5\Lib Debug" 


2. 通过加载静态链接库zlibstat.lib使用zlib

   1). 打开Visual Studio 2010,建立一个Win32 Console Application工程,假设名字是test

   2). 打开"zlib-1.2.5-2\contrib\testzlib\testzlib.c",打开,将其内容复制到新建工程的test.cpp中。

       注意保留 #include "stdafx.h"

       将"if (ReadFileMemory(argv[1],&lFileSize,&FilePtr)==0)"改为

         "if (ReadFileMemory(argv[1],&lFileSize,(void**)&FilePtr)==0)"

   3). 打开Project -> Property (Alt+F7),在Configuration Properties -> C/C++ -> General -> Additional Include Directories 中增加 "C:\MANUS\CommonSpace\zlib 1.2.5"。我们已经把头文件zconf.h,zlib.h放到这个文件夹中。

   4). 在Configuration Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions 中增加 "ASMV, ASMINF, ZLIB_WINAPI"。根据官方文档,1.2.5版本需要定义ZLIB_WINAPI。

   5). 在Configuration Properties -> Linker -> General -> Additional Include Directories 中增加 "C:\MANUS\CommonSpace\zlib 1.2.5\Lib Debug"。我们已经把库文件zlibwapi.dll,zlibwapi.lib,zlibstat.lib放到这个文件夹中。Windows <wbr>7 <wbr>64bit和Visual <wbr>Studio <wbr>2010下安装及使用Zlib <wbr>1.2.5

   6). 在Configuration Properties -> Linker -> Input -> Additional Dependencies 中增加 "zlibstat.lib"。这个是静态链接库。

   7). 编译,生成exe文件。

3. 通过加载动态链接库zlibwapi.lib使用zlib

   1). 同2-1)。

   2). 同2-2)。

   3). 同2-3)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值