libviso2在windows平台下的使用

Posted lzbqqq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了libviso2在windows平台下的使用相关的知识,希望对你有一定的参考价值。

LIBVISO2简介

libviso2 (Library for Visual Odometry 2) 是一个快速跨平台C++库用于计算移动单目/双目相机的6DoF运动。

双目版本基于最小化稀疏特征匹配的重投影误差,比较通用(无需运动模型或安装限制,除了输入图像需为校正后(rectified)的并且标定参数已知)。单目版本还是比较实验性的,使用了8点法估计基础矩阵,为估计绝对尺度,进一步假设相机在地面上方一个已知固定高度移动。

libviso2下载地址:http://www.cvlibs.net/software/libviso/

Windows visual studio 使用libviso2

为了能在windows visual studio下编译运行libviso2,需要进行一定的配置。首先在VS新建空白控制台应用程序。这里我们选择使用x64平台,在工程目录下新建include文件夹,用来存放必要的支持文件。现在下载这些必要的库。

必要支持文件下载与build

在libviso2文件夹的readme中指出:需要如下的png库(libpng)和该库的c++封装(png++)。

下面对libpng进行build:

  • 文本编辑器打开include\\lpng1632\\projects\\vstudio\\zlib.props,修改其中的ZLib文件夹名为下载解压的zlib文件名: <ZLibSrcDir>..\\..\\..\\..\\zlib-1.2.11</ZLibSrcDir>
  • 打开include\\lpng1632\\projects\\vstudio\\vstudio.sln. 这里使用了x64平台(与demo测试工程应保持一致)。将解决方案中的libpng工程设为起始工程,build (debug下或release下, 这里用的debug下). 成功后,在include\\lpng1632\\projects\\vstudio\\x64\\Debug 中发现生成了 libpng16.lib, zlib.lib以及libpng16.dll

VS2015 配置

  • 包含libviso2->src的头文件和源文件
  • 在VC++ Directories->Include Directories 中添加 工程根目录\\include 目录
  • 在VC++ Directories->Include Directories 中添加 工程根目录\\include\\lpng1632 目录
  • 在VC++ Directories->Library Directories 中添加 工程根目录\\include\\lpng1632\\projects\\vstudio\\x64\\Debug 目录
  • 在Linker->Input->Additional Dependencies中添加 libpng16.libzlib.lib
  • 将libpng16.dll放到工程目录下。

一些错误处理

  • 比如 error C4996: \'sprintf\': This function or variable may be unsafe. 处理:在demo.cpp 和 matrix.cpp 文件起始位置添加#define _CRT_SECURE_NO_WARNINGS.
  • 在error.hpp中错误: identifier "strerror_r" is undefined. 处理:在error.hpp起始部分将 #ifdef __STDC_LIB_EXT1__ 修改为 #if defined(__STDC_LIB_EXT1__) || defined(_WIN32)

Windows版使用下载

https://github.com/zhenboliu/libviso2_windows

运行显示

运行demo.cpp

以上是关于libviso2在windows平台下的使用的主要内容,如果未能解决你的问题,请参考以下文章

windows平台是上的sublime编辑远程linux平台上的文件

windows平台下的mysql启动等基本操作

Git在windows环境下的使用教程

Mac平台下的Qt程序在Windows下执行编译运行出现的中文乱码问题

Qt 程序在 Windows 下的发布

windows下的socket网络编程(入门级)