最近准备使用OpenCV进行图片识别,所以开始学习一下OPENCV。因为在linux下开发比较实用,所以就开始了在linux下的安装之路。
我这里使用的Linux版本是Linuxmint 18.9。应该是比较新的了。它是基于Ubuntu的内核。
开始安装前,一定要执行一下
//软件源更新
sudo apt-get update
//升级本地所有安装包
sudo apt-get upgrade
然后开始安装一些OPENCV的工具
//安装build-essential、cmake、git和pkg-config
sudo apt-get install build-essential cmake git pkg-config
然后安装图像工具包
//安装jpeg格式图像工具包
sudo apt-get install libjpeg8-dev
//安装tif格式图像工具包
sudo apt-get install libtiff5-dev
//安装JPEG-2000图像工具包
sudo apt-get install libjasper-dev
//安装png图像工具包
sudo apt-get install libpng12-dev
视频工具包
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
然后安装libgtk2.0-dev。这里有一个坑。正常安装会出现安装不了的情况。需要更新一下软件源
更新软件源,找到sources.list这个文件(不要忘了备份一下)
cd /etc/apt/
sudo vi sources.list
更换软件源(这里用的是阿里的)更新一下
deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
更新一下
sudo apt-get update
安装libgtk.20-dev
//安装libgtk2.0-dev
sudo apt-get install libgtk2.0-dev
优化函数
sudo apt-get install libatlas-base-dev gfortran
以上就是OpenCV3.3的安装前准备工作
下面开始安装
去官网https://opencv.org/opencv-3-3.html下载
然后解压
tar -zxvf opencv-3.3.0.tar.gz
在解压的目录下
//建立目录
sudo mkdir release
//进入目录
cd release
设置cmake编译参数,安装目录默认为/usr/local
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 ..
这里有一个WITH_GTK这个参数是用于显示图片的,这里有一点要注意,如果上面的libgtk2.0-dev没有安装。在后面的开发运行时,会出现如下报错
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /home/nick/.Apps/opencv/modules/highgui/src/window.cpp, line 516
terminate called after throwing an instance of 'cv::Exception'
这里你需要重新安装libgtk2.0-dev,并且重新编译安装OpenCV
如果上面的CMAKE执行完成后,请检查下面衅中的地方
如果为NO,需要重新安装libgtk2.0-dev
之后开始正式编译过程:
//编译
sudo make
//安装
sudo make install
//更新动态链接库
sudo ldconfig
以上OpenCV的安装完毕。
下面是linux eclipse下的配置。这里eclipse c++的安装就不多说了,大家可以自行百度一下。
创建一个C++工程
然后在工程上右击选中Properties
设置incudes。
C/C++ Build->Settings 这里的/usr/include是在cmake的时候配置的,如果想安装其他位置请自行修改。
设置lib path
设置LIB
这里面需要添加的大家可以执行下面的命令。
pkg-config --lib opencv
然后把里面的都添加到lib中就可以了。
下面建一个.cpp文件进行测试一下。
#include<iostream>
#include <opencv2/opencv.hpp>
int main()
{
// 读入一张图片(游戏原画)
cv::Mat image=cv::imread("pic.jpg");
// 在窗口中显示游戏原画
cv::imshow("test",image);
// 等待6000 ms后窗口自动关闭
cv::waitKey(6000);
}
图片显示出来了吧。
谢谢大家的支持!