opencv下载
官网下载source源即可,可选择自己需要的版本:
链接: link.
Step1
配置依赖:
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
Step2
解压下载好的源文件,进入opencv文件夹,并新建一个build文件夹,在shell中cd进入该文件夹:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON ..
然后
sudo make -j16
j后面是同时开启的进程数(可自改)
sudo make install
至此源文件编译结束
将opencv的库添加至路径
sudo gedit /etc/ld.so.conf.d/opencv.conf
该文件下添加(打开是空白文件没关系)
/usr/local/lib
执行如下命令使之生效
sudo ldconfig
配置bash
sudo gedit /etc/bash.bashrc
在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
执行以下命令使之生效
source /etc/bash.bashrc
更新
sudo updatedb
可用命令查看是否安装好(安装好会有版本号)
pkg-config opencv4 --modversion
VS配置
Step1
tasks.json文件可做如下更改
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-I", "/usr/local/include",
"-I", "/usr/local/include/opencv4",
"-I", "/usr/local/include/opencv4/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"
],
主要是链接各类库和包,看其他博主似乎在/usr/local/include文件夹下都有opencv2和opencv4两个文件夹,我当时下载的4.5.2版本,opencv2在opencv4里,所以第二三项自己改了一下,大家也可以视情况适当修改。
Step2
Ctrl+Shift+P
输入Edit
选择C/C++:Edit Configurations(JSON)
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/local/include",
"/usr/local/include/opencv4",
"/usr/include"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu11",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
至此基本配置完成,可以简单测试一下
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat srcImage=imread("1.jpg");
imshow("Origin",srcImage);
waitKey(0);
return 0;
}
1.jpg
图片路径请改为绝对路径
本文主要参考以下博文
link