一、 前提准备

安装环境:Win10(ver1903)+ VS2017(ver15.0)+ OPENCV(ver4.3.0)

0.ViSP官方教程文档:https://visp-doc.inria.fr/doxygen/visp-daily/index.html
选择从源代码安装: Tutorials for ViSP users-> Installation from source-> Tutorial: Installation from source for Windows with Visual C++ 2017 (vc15)

1.VS2017社区版
https://www.visualstudio.com/downloads/
注意:
工作负荷:使用C ++进行桌面开发,使用.net进行桌面开发。
组件:除建议外,Windows 10 SDK全选。

2.CMake
https://cmake.org/download/
选最新版本的cmake-X.XX.X-win64-x64.msi

3.GIT
https://git-for-windows.github.io/
选最新版本
若github无法直连,可以科学上网或者利用手机开4G热点
Git-X.XX.X-64-bit

4.opencv
http://opencv.org/releases.html
这里选用4.3.0,点击windows图标下载。

二、 基本安装方法

直接利用官方文档里面的命令行去做。

步骤如下。

1.快捷键win+r,输入cmd,并运行。(进入dos命令行)

输入如下命令并点击回车

setx VISP_WS "C:\visp-ws"
exit

2.再次进入cmd,输入如下命令并回车。

mkdir %VISP_WS%
exit

3.再次进入cmd,输入如下命令并回车

cd %VISP_WS%git clone https://github.com/lagadic/visp.git
 (输入之后等待下载完毕再输入下一条)
cmake -G "Visual Studio 15 2017" -A "x64" %VISP_WS%\visp        cmake --build . --config Release --target install

(同上)

setx Path "%Path%:%VISP_WS%\visp-build-vc15\install\x64\vc15\bin"exit

此处可能设置不成功,见后面常见问题部分。

4.再次进入cmd,输入如下命令并回车

setx VISP_DIR "%VISP_WS%\visp-build-vc15\install"exit

5.安装opencv。


将文件夹改名为opencv-4.3.0
再次进入cmd,输入如下命令并回车

setx OpenCV_DIR "%VISP_WS%\opencv-4.3.0\build"
exit

然后修改环境变量。我的电脑->右键->属性->高级系统设置->环境变量->path
添加一条C:\visp-ws\opencv-4.3.0\build\x64\vc15\bin

再次进入cmd,输入如下命令并回车

cd %VISP_WS%
cmake -G "Visual Studio 15 2017" -A "x64" %VISP_WS%\visp        cmake --build . --config Release --target install

6.测试代码

准备文件。

打开教程网页。
Tutorials for ViSP users-> Getting started-> Tutorial: How to create and build a project that uses ViSP and CMake on Unix or Windows

翻到Advanced getting started。

在任意位置新建一个文件夹。打开之后,打开vs2017新建一个.cpp文件,复制网页中的Get tutorial-viewer.cpp file的代码,并保存为tutorial-viewer.cpp。

#include <visp3/gui/vpDisplayD3D.h>
#include <visp3/gui/vpDisplayGDI.h>
#include <visp3/gui/vpDisplayGTK.h>
#include <visp3/gui/vpDisplayOpenCV.h>
#include <visp3/gui/vpDisplayX.h>
#include <visp3/io/vpImageIo.h>
int main(int argc, char **argv)
{if (argc != 2) {printf("Usage: %s <image name.[pgm,ppm,jpeg,png,tiff,bmp,ras,jp2]>\n", argv[0]);return -1;}vpImage<vpRGBa> I;try {vpImageIo::read(I, argv[1]);} catch (...) {std::cout << "Cannot read image \"" << argv[1] << "\"" << std::endl;return -1;}try {#if defined(VISP_HAVE_X11)vpDisplayX d(I, vpDisplay::SCALE_AUTO);
#elif defined(VISP_HAVE_GDI)vpDisplayGDI d(I, vpDisplay::SCALE_AUTO);
#elif defined(VISP_HAVE_OPENCV)vpDisplayOpenCV d(I, vpDisplay::SCALE_AUTO);
#elif defined(VISP_HAVE_GTK)vpDisplayGTK d(I, vpDisplay::SCALE_AUTO);
#elif defined(VISP_HAVE_D3D9)vpDisplayD3D d(I, vpDisplay::SCALE_AUTO);
#elsestd::cout << "No image viewer is available..." << std::endl;
#endifvpDisplay::setTitle(I, "My image");vpDisplay::display(I);vpDisplay::flush(I);std::cout << "A click to quit..." << std::endl;vpDisplay::getClick(I);} catch (const vpException &e) {std::cout << "Catch an exception: " << e << std::endl;}
}

新建一个txt文档,命名为CMakeLists.txt,打开文档复制下面的内容进去并保存。

project(tutorial-image)
cmake_minimum_required(VERSION 2.8)
find_package(VISP REQUIRED)
include_directories(${VISP_INCLUDE_DIRS})
add_executable(tutorial-viewer tutorial-viewer.cpp)
target_link_libraries(tutorial-viewer ${VISP_LIBRARIES})

打开cmd命令行,输入如下命令

C:\> xcopy /E /I %VISP_WS%\visp\tutorial\image %VISP_WS%\image

然后在C:\visp-ws\image中找到monkey.ppm复制粘贴到自己新建的文件夹。
这样自己新建的文件夹里就有tutorial-viewer.cpp和CMakeLists.txt以及monkey.ppm三个文件
Cmake进行编译。


上边是自己新建文件夹的位置。下面,在自己的文件夹新建一个build文件夹。


注意选择VS2017和x64.点击finish
之后点击configure。出现红线后再点击configure。最后点击generate。
此时build文件夹已经生成.SLN文件。打开进入VS2017.

选择release以及x64,然后设置.CPP文件为启动项

之后选择选项卡:生成-生成tutorial-viewer。该文件位于build文件夹的release文件夹中。同时把monkey.ppm这个图片文件复制到该文件夹内。
将monkey.ppm拖到tutorial-viewer.exe上,测试程序。
结果如图。

三、 常见问题。

1.第二部分里的步骤3:
Git clone指令处:由于部分网络运营商无法直连github,可能造成无法下载。
可以选择切换4G等可以直连github的网络条件。也可以科学上网。
但需要注意:ssr等代理工具可能占用443端口,需要在git中设置一下使用全局代理。Git指令如下。
设置代理:

git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'

查看代理:

git config --global --get http.proxy
git config --global --get https.proxy

取消代理:

git config --global --unset http.proxy
git config --global --unset https.proxy

setx Path "%Path%:%VISP_WS%…处:

此处由于cmd只能处理短字节指令,因此此处可能设置不成功,需要手动设置环境变量。
我的电脑->右键->属性->高级系统设置->环境变量->path
添加一条C:\visp-ws\visp-build-vc15\install\x64\vc15\bin

测试示例代码时:
如果测试的是Quick getting started或者Advanced getting started,可能会因为ViSP自带的显示程序(即所谓的vsDisplayGDI这个API)和系统提供的win10 sdk不兼容造成程序闪退,此时的解决办法是采用第三方库opencv的GDI。(在ViSP的开发者论坛里,维护小组的建议也是如此)。这也就是这个教程为什么讲到了OPENCV第三方库的安装,就是为了调用vpDisplayOpenCV这个API去代替ViSP的原生显示程序。
解决办法:在Advanced getting started的Get tutorial-viewer.cpp代码中做如下修改:
删去该行

#elif defined(VISP_HAVE_GDI)
vpDisplayGDI d(I, vpDisplay::SCALE_AUTO);

此时

#elif defined(VISP_HAVE_OPENCV)

这一行应该被识别,从而变成彩色。
然后重新对项目进行编译即可。

ViSP学习:一、ViSP的快速安装。相关推荐

  1. Docker 快速安装搭建 Ngnix 环境,并配置反向代理

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  2. VISP学习:二、Visp的手动安装

    一. 简要说明 可能有的同学在快速安装之后已经注意到了,原生GDI的调用依然遇到问题.比如某些不能指定显示支持的类和api,无法指定使用opencv的显示框架.所以此处采用手动安装的方法禁用GDI,以 ...

  3. ViSP学习笔记(一):Ubuntu环境下ViSP安装

    开发环境:Unbuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyg ...

  4. ViSP学习笔记(三):新建Visp工程并使用CMake完成编译

    开发环境:Unbuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyg ...

  5. 【 ViSP(1) - Linux Melodic 源码安装 ViSP】

    Linux Melodic 源码安装 ViSP Linux Melodic 源码安装 ViSP 1. ViSP 简介 2. 源码安装 2.1 Required packages 需要的安装包 2.2 ...

  6. Ubuntu18.04环境下visp、visp_ros、vision_visp手动安装完整指南

      visp全称是visual servoing platform,是一个可以用于开发视觉跟踪和视觉伺服技术的库.其能够计算机器人的控制律,提供多种可用于追踪的视觉特征,更多的信息可以去官网查看.vi ...

  7. ViSP学习笔记(二十五):基于图像的视觉伺服

    开发环境:Ubuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyge ...

  8. 学习PHP7如何快速安装WEB服务器

    文章作者:Lccee 原创说明:欢迎转载,注明出处即可 如何安装web服务器? 学习php7需要安装web服务器,那么新手如何快速安装web服务器 首先我们来简单了解一下,什么叫web服务器 在了解什 ...

  9. c++入门代码_Golang Gin 实战(一)| 快速安装入门

    Golang Gin 实战(一)| 快速安装入门 Gin 是一个非常优秀的Golang Web Framework,它不光API友好,性能也非常高,并且设计简洁,便于入门.所以它(Gin)非常受欢迎, ...

  10. ubuntu eclipse java,Ubuntu快速安装eclipse

    Ubuntu快速安装eclipse教程,供大家参考,具体内容如下 1.先安装jdk,详情见链接 2.下载eclipse.tar.gz安装包(官网下载) 3.把下载好的安装包复制到/usr目录下 先cd ...

最新文章

  1. 又一家明星机器人公司倒掉:曾是全球机器人技术50强,主打性价比AI机械臂
  2. 微软的JavaScript,Post的实例(XMLHTTP)
  3. 【Android工具】免费二次元追番神器,各种字幕组新番旧番良心资源,重要的事说三遍:没有广告!没有广告!没有广告...
  4. x3650m5不自动进系统_17日起,泉州这个地方自动抓拍系统启用!这些车闯红灯、严重超载、不按道行驶被查处曝光!【交通大整治】...
  5. c++服务器开发学习--02--MySQL,Redis,ASIO,iocp,TrinityCore代码结构,c++对象模型
  6. Java设计模式之行为型:命令模式
  7. 参数控制c语言代码走向,C语言可变参数完全解读
  8. 立个flag,一个月之内把知识点整理完,放到博客
  9. linux下pcre编译,linux下交叉编译lighttpd以及pcre
  10. 10一个应用阻止关机贴吧_手机该不该每天关机一次?看完才知道这么多年白用了...
  11. java httpclient 异步请求_Java利用httpasyncclient进行异步HTTP请求
  12. Ta Muid(Dreams 梦幻)
  13. nginx 499 502 413 404 处理
  14. 下列描述中 哪些符合java语言的特征_coreJavaBasic试题带答案
  15. CCIE试验备考之交换security
  16. mysql 性别以女生升序_MySql练习题
  17. Sentaurus 入门之一安装教程
  18. c# 2进制 转16进制 ,16进制转2进制
  19. springboot Validation
  20. Python 制作动态图

热门文章

  1. Linux文件的rwx含义,Linux文件权限rwx简单了解(示例代码)
  2. 如何解决母鸡服务器带宽跑满
  3. 一个和同事间的小笑话
  4. 50个高质量Java开发人员博客
  5. 年终排名战白热化 领跑基金高招迭出
  6. 我的win8期待 新功能 新特性 新改进
  7. 免费使用 Google 防注册机验证
  8. C/C++/Qt 文件操作 效率比较
  9. app语聊房间测试要点
  10. linux 下搜狗输入法安装