opencv版本在这[https://github.com/opencv/opencv/releases],contrib版本在这[https://github.com/opencv/opencv_contrib/tree/3.4.3],注意!要选择版本是在左上角Tag那里选。
2 安装
(1) 安装依赖项
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
(2)将contrib文件放在opencv文件夹下
(3) 安装cmake-gui
sudo apt-get install cmake-gui
3
进入cmake-gui
在终端输入
cmake-gui ..
设置路径:
确定路径没问题之后点击configure选择Unix Makefiles,其余默认,点击finish。
这里需要对三个地方进行修改:
(1)在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX显示了默认的安装目录,生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。但是建议就按照默认路径来,不要乱改!
(2)在OPENCV_EXTRA_MODULES_PATH处,选择输入目录(单击这一行后方空白处即可选中)
接着选择opencv_contrib文件夹中的modules文件夹,注意,不是只选中opencv_contrib文件夹就好了,需要点进去选中里面的modules文件夹! 如下图所示,我从左侧echo里进去选的,大家从自己安装位置选择就好。然后点Choose。
(3)在BUILD_opencv_world后面打√
最后点击Generate生成配置文件
进入终端,进入自己的opencv的build文件下
输入: make -j16 等待make结束
sudo make install -j16
4 配置环境变量
1)安装成功后还需要设置opencv的环境变量。打开文件:
sudo gedit /etc/ld.so.conf.d/opencv.conf
(2)将以下内容添加到最后:
/usr/local/lib
(3)接下来配置库:
sudo ldconfig
(4)更改环境变量:
sudo gedit /etc/bash.bashrc
(5)在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
5 测试
新建test文件夹,test.cpp以及CMakeLists.txt,并放入一张图片
(1)在test.cpp中写入:
#include
#include
#include
#include
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
(2) 在CMakeLists.txt中写入:
cmake_minimum_required( VERSION 2.8 )
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage test.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
(3)终端进入test文件
cmake .
make
./DisplayImage 1.png
6、使用python调用opencv,解决ImportError: No module named cv2问题
sudo apt-get install python-opencv
参考博客:
https://blog.csdn.net/echoamor/article/details/83022352