ViSP学习:一、ViSP的快速安装。
一、 前提准备
安装环境: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的快速安装。相关推荐
- Docker 快速安装搭建 Ngnix 环境,并配置反向代理
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- VISP学习:二、Visp的手动安装
一. 简要说明 可能有的同学在快速安装之后已经注意到了,原生GDI的调用依然遇到问题.比如某些不能指定显示支持的类和api,无法指定使用opencv的显示框架.所以此处采用手动安装的方法禁用GDI,以 ...
- ViSP学习笔记(一):Ubuntu环境下ViSP安装
开发环境:Unbuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyg ...
- ViSP学习笔记(三):新建Visp工程并使用CMake完成编译
开发环境:Unbuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyg ...
- 【 ViSP(1) - Linux Melodic 源码安装 ViSP】
Linux Melodic 源码安装 ViSP Linux Melodic 源码安装 ViSP 1. ViSP 简介 2. 源码安装 2.1 Required packages 需要的安装包 2.2 ...
- Ubuntu18.04环境下visp、visp_ros、vision_visp手动安装完整指南
visp全称是visual servoing platform,是一个可以用于开发视觉跟踪和视觉伺服技术的库.其能够计算机器人的控制律,提供多种可用于追踪的视觉特征,更多的信息可以去官网查看.vi ...
- ViSP学习笔记(二十五):基于图像的视觉伺服
开发环境:Ubuntu 18.04 LTS + ROS Melodic + ViSP 3.3.1 文章内容主要参考ViSP官方教学文档:https://visp-doc.inria.fr/doxyge ...
- 学习PHP7如何快速安装WEB服务器
文章作者:Lccee 原创说明:欢迎转载,注明出处即可 如何安装web服务器? 学习php7需要安装web服务器,那么新手如何快速安装web服务器 首先我们来简单了解一下,什么叫web服务器 在了解什 ...
- c++入门代码_Golang Gin 实战(一)| 快速安装入门
Golang Gin 实战(一)| 快速安装入门 Gin 是一个非常优秀的Golang Web Framework,它不光API友好,性能也非常高,并且设计简洁,便于入门.所以它(Gin)非常受欢迎, ...
- ubuntu eclipse java,Ubuntu快速安装eclipse
Ubuntu快速安装eclipse教程,供大家参考,具体内容如下 1.先安装jdk,详情见链接 2.下载eclipse.tar.gz安装包(官网下载) 3.把下载好的安装包复制到/usr目录下 先cd ...
最新文章
- 又一家明星机器人公司倒掉:曾是全球机器人技术50强,主打性价比AI机械臂
- 微软的JavaScript,Post的实例(XMLHTTP)
- 【Android工具】免费二次元追番神器,各种字幕组新番旧番良心资源,重要的事说三遍:没有广告!没有广告!没有广告...
- x3650m5不自动进系统_17日起,泉州这个地方自动抓拍系统启用!这些车闯红灯、严重超载、不按道行驶被查处曝光!【交通大整治】...
- c++服务器开发学习--02--MySQL,Redis,ASIO,iocp,TrinityCore代码结构,c++对象模型
- Java设计模式之行为型:命令模式
- 参数控制c语言代码走向,C语言可变参数完全解读
- 立个flag,一个月之内把知识点整理完,放到博客
- linux下pcre编译,linux下交叉编译lighttpd以及pcre
- 10一个应用阻止关机贴吧_手机该不该每天关机一次?看完才知道这么多年白用了...
- java httpclient 异步请求_Java利用httpasyncclient进行异步HTTP请求
- Ta Muid(Dreams 梦幻)
- nginx 499 502 413 404 处理
- 下列描述中 哪些符合java语言的特征_coreJavaBasic试题带答案
- CCIE试验备考之交换security
- mysql 性别以女生升序_MySql练习题
- Sentaurus 入门之一安装教程
- c# 2进制 转16进制 ,16进制转2进制
- springboot Validation
- Python 制作动态图