热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ViSP学习:一、ViSP的安装。

一、前提准备0.ViSP官方教程文档:https:visp-doc.inria.frdoxygenvisp-dailyindex.html选择从源代码安装:Tuto

一、 前提准备

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全选。


  1. 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,输入如下命令并回车

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。新建一个txt文档,命名为CMakeLists.txt,打开文档复制Open your editor and copy/paste the following lines in VISP_WS/started/CMakeLists.txt file.下面的内容进去并保存。打开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)

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


推荐阅读
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了微软的STL容器类是否线程安全。根据MSDN的回答,STL容器类包括vector、deque、list、queue、stack、priority_queue、valarray、map、hash_map、multimap、hash_multimap、set、hash_set、multiset、hash_multiset、basic_string和bitset。对于单个对象来说,多个线程同时读取是安全的。但如果一个线程正在写入一个对象,那么所有的读写操作都需要进行同步。 ... [详细]
author-avatar
mobiledu2502852457
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有