网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一些人带去便利,节省时间。
1.安装OpenCV所需的库
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.下载最新opencv源码
链接: https://pan.baidu.com/s/1bpAIrOb
密码: qqb7
将opencv-3.2.0.zip解压,然后进入该目录。
unzip opencv-3.2.0.zip
cd ~/opencv-3.2.0
3.编译opencv
cd ~/opencv-3.2.0
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install
在执行"cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..”时会下载ippicv_linux_20151201.tgz,有可能因为墙的缘故不成功,可以到我的网盘中提取
链接: https://pan.baidu.com/s/1bpAIrOb
密码: qqb7
下载ippicv_linux_20151201.tgz,不需要解压,放到opencv-3.2.0目录下的/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b里面就可以了。
这时继续从第4行开始执行,直至结束。
4、测试opencv(C++)
这时,已经可以通过C++使用opencv了。
1)创建工作目录
mkdir ~/opencv-lena
cd ~/opencv-lena
gedit DisplayImage.cpp
2)编辑如下代码
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
3)创建CMake编译文件
gedit CMakeLists.txt
写入如下内容
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
4)编译
cd ~/opencv-lena
cmake .
make
5)执行
此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg放在opencv-lena下,运行
./DisplayImage lena.jpg
5、测试opencv(python)
如果你的电脑已经装了anaconda,则只需如下命令
pip install opencv-python
否则,使用
pip install python-opencv
在python中import cv2,没有提示错误表示安装成功。