Ubuntu上配置opencv的详细步骤
前言:
关于妙算,实验室要用到大疆的妙算2代,可是由放假在家,妙算尚未到手,因此就按照妙算里面的配置开始在虚拟机上配置编译环境,看在虚拟机上用vscode写代码能不能直接迁徙到妙算上面,在通过屡次尝试,苦尽甘来。才有了这篇很菜可是得来不易的博客。javascript
关于VMware的使用
在win10上跑Linux,确定要用到虚拟机,虚拟机搭载平台最好选择VMware,不一样版本的虚拟机的使用方法基本上都是同样的。对于想要仿真模拟大疆妙算二代来讲,在虚拟机上搭载的版本最好选择ubuntu16.04及如下的版本,下载和安装虚拟机的过程很是简单建议CSDN上面什么都有。请务必要安装好VMware tool,对之后的步骤是极其方便的,能够将主机的任何东西复制到虚拟机上面来。
关于安装虚拟机的废话很少说,如下是我在安装过程当中遇到的问题,但愿能够有帮助。
java
1.网速过慢
解决办法:网络适配器改成桥接模式能够有效提高网速。
python
2.虚拟机配置好打不开
3.在配置虚拟机时千万不要配置好直接关闭VMware否则极可能形成数据丢失
ios
Ubuntu的配置和安装
Vmware上Ubuntu的配置能够参考link.,彻底照搬就能够了。基本上全部功能包罗万象。
附上大疆妙算2的配置
c++
Ubuntu上配置vscode外加opencv
首先,在Linux上自带的火狐浏览器上下载本身须要的opencv版本,这里我用的版本时opencv3.4.2。你们也可使用安装好的VMware tool来直接将主机里面的opencv压缩包复制到Ubuntu上也是直接可使用的。
下载连接
link.
下载好的文件放在home里面
而后在home界面用终端打开
解压文件
git
unzip opencv-3.4.2.zip
直接解压也能够。
github
安装cmake
我要用的是vscode来进行编译,可是vscode只是一个文本编译器而已,要是真正用的话仍是得用cmake来进行编译,首先咱们来安装cmake。终端输入:shell
sudo apt-get install cmake
接下来会让你输入密码,本身是看不见的,直接输入就能够了。
安装完成后咱们来安装依赖库:
json
sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
等到依赖库安装完后,咱们就能够对cmake进行配置了ubuntu
配置opencv
在你解压的opencv里面新建一个build文件夹,而后在build里面用终端打开
开始执行cmake
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
出现这些东西就行了,在这里说一下这个Ubuntu的路径,里面的/usr/local …用的是安装路径
大概是这样。
等待cmake命令执行完成而后执行make
sudo make
这样子配置到100%就大功告成,过程比较漫长,你们耐心等待。
sudo make install
sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就须要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可让系统找到
而后继续下一步,用gedit打开/etc/ld.so.conf
在文件中加上一行
/usr/loacal/lib
其中/user/loacal是opencv安装路径也就是makefile中指定的安装路径。用命令行打开gedit
sudo gedit /etc/ld.so.conf
如图所示,有可能遇见waring警告,不要管。直接进行下一步,没什么影响。
下一步:
sudo ldconfig,
修改bash.bashrc文件
命令行:
sudo gedit /etc/bash.bashrc
在文件末尾加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
最后一步应用
source /etc/bash.bashrc
检验:
pkg-config opencv –modversion
出现版本号则视为成功
官方也有检验的方法:
cd opencv3 cd samples cd cpp cd example_cmake cmake . make ./opencv_example
出现hello opencv则成功。
配置vscode
下载vscode
能够直接在vscode官网上下载,直接安装,也能够用命令行安装
先安装Ubuntu make
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make
安装成功后安装vscode
umake ide visual-studio-code
我用的Ubuntu16.04版本,会出现vscode安装上可是没有图标的状况,只须要
dconf reset -f /org/compiz/ (重置Compiz)
setsid unity (重启Unity)
便可。
VScode配置
1.下载中文插件
2.安装c++
3.创建工程,vscode是从文件里面读取代码的,因此新建一个文件夹再进行读取
先写一个cpp
#include<iostream> using namespace std; int main() { cout<<"Hello World\n"; return 0; }
保存Ctrl+S,新建文件的时候记住要写后缀(.cpp)
配置launch.json
点击左侧的Debug按钮选择添加配置(Add configuration),而后选择C++(GDB/LLDB),而后选个Default,将自动生成launch.json文件.
选第一个便可
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceRoot}/${fileBasenameNoExtension}.main.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceRoot}", "environment": [], "externalConsole": true, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build" } ] }
直接复制粘贴过去就好了,不要进行改动。后面的配置也是同样,不要有改动。
配置tasks.json
配置完成上一步后保存关闭launch,F5运行代码
配置任务
选择Configure Task,在备选框中选择C/C++:cpp build active file选项,则新建一个task.json文件
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": [ "-g", "-std=c++11", "${file}", "-o", "${fileBasenameNoExtension}.main.out", "-I", "/usr/local/include", "-I", "/usr/local/include/opencv", "-I", "/usr/local/include/opencv2", "-L", "/usr/local/lib", "-l", "opencv_core", "-l", "opencv_imgproc", "-l", "opencv_imgcodecs", "-l", "opencv_video", "-l", "opencv_ml", "-l", "opencv_highgui", "-l", "opencv_objdetect", "-l", "opencv_flann", "-l", "opencv_imgcodecs", "-l", "opencv_photo", "-l", "opencv_videoio" ], "problemMatcher":{ "owner": "cpp", "fileLocation":[ "relative", "${workspaceFolder}" ], "pattern":[ { "regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$", "file": 1, "location": 2, "message": 3 } ] }, "group": { "kind": "build", "isDefault": true } } ] }
配置c_cpp_properties.json
Ctrl+Shift+P
输入C/C++
选择C/C++:Edit Configurations(JSON)
{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "/usr/include", "/usr/local/include/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "compilerPath": "/usr/bin/cpp", "cStandard": "c11", "cppStandard": "c++11", "intelliSenseMode": "gcc-x64" } ], "version": 4 }
关闭保存,最后进行测试,不出意外的话,过程应该很顺利的。
测试代码:
#include<opencv2/opencv.hpp> using namespace cv; int main() { Mat srcImage=imread("1.jpge"); imshow("Origin",srcImage); waitKey(0); return 0; }
别忘了将图片添加到文件夹里面。
这样子就算成功了。 第一次写博客,很是菜,请大佬们多多指教。