看了网上的很多关于opencv配置的教程,刚入门C++没多久,准备开始学习opencv,当然网上的配置资料很多,这里记录一下小编的配置过程,可以少走很多弯路。首先提一下python的opencv安装方式。
Python:
用一条命令就可以搞定
pip3 install python-opencv
C++:
- 安装一些依赖库
sudo apt-get install libtiff5-dev
sudo apt-get install build-essential cmake libgtk2.0-dev libjasper-dev libavfor
2.下载与系统对应的版本的opencv,opencv的下载地址在这里 ,我的ubuntu的版本是16.04 LTS,下载的opencv的版本是3.2.0,这个版本的opencv我已经上传到了 这里。
3.下载好了opencv后,进入opencv压缩包所在的文件夹,对其进行解压,然后再进入解压后的文件夹。
进入文件夹:
cd ~/下载
解压之后进入 opencv 文件夹
cd opencv-3.2.0
进入opencv目录里,并新建一个文件夹,命名为“release”,并进入:
mkdir release
cd release
最后,编译安装opencv:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
sudo make install
export LD_LIBRARY_PATH=~/soft/opencv/release/lib:$LD_LIBRARY_PATH
sudo ldconfig
pkg-config opencv –libs
在sudo make install 的时候可能会报错“找不到ippicv”,这个包可以在这里,下载了之后解压成tgz格式的,然后将tgz包复制到‘~/下载/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e’
这个目录下。然后在重新 sudo make install
按照步骤下来。
最后检验一下opencv是否完整安装了。
测试
先进入桌面,创建一个检验的文件夹,后期检验无误可以将其删除,创建好文件夹后,创建.cpp文件编写测试代码:
cd ~/桌面
mkdir test
cd test
gedit DisplayImage.cpp
在DisplayImage中编写代码:
#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;
}
创建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} )
编译:
cd ~/桌面/test
cmake .
make
执行
此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载1.jpg放在opencv-lena下,运行
./DisplayImage 1.jpg