一、 概述
OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。本文介绍如何在Linux安装OpenCV,并使用OpenCV打开一张经典图片。
二、 安装准备
- 本文Linux选择Ubantu12.04,关于Ubantu的安装请查看这里:Linux Ubantu12安装方法
- 下载以下安装包:
1.opencv源码包,点击进入下载页面,opencv-3.1.0.zip
2.opencv_contrib,点击直接下载,opencv_contrib-master.zip,会用到里面得modules文件夹
3.ippicv_linux_20151201.tgz,点击进入下载页面,这个安装包需要连接外网,国内无法下载成功,需要替换到具体路径下,再进行安装
三、 安装操作
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
将opencv和opencv_contrib包解压在相同目录下,这里都放在用户目录
cd进入opencv目录,创建文件夹build
进入build文件夹,运行以下命令
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local ..
然后发现在下载ippicv_linux_20151201.tgz时卡住了
进入对应的路径替换掉下载失败的文件,路径是opencv/3rdparty/ippicv/downloads/linux-808b79la6eac9ed78d32a7666804320es
再次执行cmake命令,这次发现安装成功了,configuring done
在opencv/build里,运行sudo make -j7
在opencv/build里,运行sudo make install
查看ls /usr/local/lib系统库
修改配置文件,sudo vim /etc/ld.so.conf,添加一行/usr/local/lib
执行配置sudo ldconfig
到此,opencv安装完毕。
2.使用opencv打开图片
测试素材:https://pan.baidu.com/s/1ljsZ6ezDNlIoI19XGLxMMw 提取码: h2st
以防链接丢失,这里放下opencvtest.cpp的代码,图片网上下载即可
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
int main(int argc,char* argv[])
{
const std::string window_name = "lena";
const std::string input_pic = "lena.jpg";
cv::Mat test_pic = cv::imread(input_pic);
if (test_pic.empty()) {
std::cout << "no input image" << std::endl;
return -1;
}
cv::namedWindow(window_name);
cv::imshow(window_name, test_pic);
cv::waitKey(0);
return 0;
}
将测试文件opencvtest.cpp和一张图片(lena.jpg)拷贝到用户目录下
g++编译源文件,sudo g++ -o opencvtest opencvtest.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs
执行编译后的文件opencvtest,打开图片lena.jpg
参考
以上为个人整理总结的知识,如有遗漏或错误欢迎留言指出、点评,如要引用,请联系通知,未经允许谢绝转载。
[1]: https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html