如何在Linux下编译安装OpenCV

简介:

OpenCV是一个跨平台的计算机视觉库,可以运行在Windows、Linux、MacOS等操作系统上。OpenCV提供了众多语言的接口,其中就包含了Python,Python是一门上手容易、使用起来十分让人愉悦的语言,利用Python学习OpenCV,相信能更快的获得效果。

OpenCV的官方下载网址是http://opencv.org/releases.html,我选择的是最新3.2.0版本,对于Windows用户,可直接下载exe文件安装,过程十分简单,这里就不再多说了,如果遇到问题可以看看官方的安装指南,对于Linux用户,可下载OpenCV源码自行编译,在官网上下载zip格式的源码压缩包。

准备环境

首先安装如下几个软件包:

GCC 4.4.x or later

CMake 2.8.7 or higher

Git

GTK+2.x or higher, including headers (libgtk2.0-dev)

pkg-config

Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)

ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev

[optional] libtbb2 libtbb-dev

[optional] libdc1394 2.x

[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev

[optional] CUDA Toolkit 6.5 or higher

[optional]代表这个package是可选的,上面这些包都是可以通过apt-get命令直接安装的,打开终端,输入以下命令:

 
 
  1. [compiler] 
  2.  
  3. $ sudo apt-get install build-essential 
  4.  
  5. [required] 
  6.  
  7. $ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 
  8.  
  9. [optional] 
  10.  
  11. $ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-dev 

只需一小会,编译所依赖的packages便全部安装完毕了(这也是我喜欢Linux的原因之一,安装package十分的便利)。接着就是开始编译了,实际上编译只需要三行命令就可以完成。不过在此之前,还要在解压后的opencv-XXX 文件夹内建立一个build文件夹,编译生成的makefiles、project files、object files和output files会放在build文件夹里面,完成后,就可以开始正式的编译了。

开始安装

第一步,配置。

 
 
  1. $ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. 

CMAKE_BUILD_TYPE: build的类型,有Release和Debug两种

CMAKE_INSTALL_PREFIX:指定想要安装OpenCV的文件夹目录,一般就用/usr/local

除此之外,还可以添加上BUILD_DOCS 来build文档 以及 BUILD_EXAMPLES 来build所有的样例

注意:如果上面的命令行无法工作,则把-D后面的空格去掉:

 
 
  1. $ cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. 

第二步,build。为了加快编译速度,一般会使用多线程的方法:

make -j7 # 同时使用七个线程

第三步,安装。

 
 
  1. sudo make install 

如果到现在你还没遇到任何问题,那么恭喜你,你已经成功在Linux上安装了OpenCV。为了测试你的OpenCV能否在Python上使用,可以运行一段小代码,读取一张图片并显示出来:

 
 
  1. import cv2 
  2.  
  3. image = cv2.imread("logo.png", 1) 
  4.  
  5. cv2.imshow("Hello, world!", image) 
  6.  
  7. cv2.waitKey(0) 
  8.  
  9. cv2.destroyAllWindows() 

如果运行时报错,尝试把图片的相对路径改为绝对路径。运行成功后,你会看到:






本文作者:佚名
来源:51CTO
目录
相关文章
|
8天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
25 6
|
6月前
|
Linux 开发工具 git
【git】linux 编译安装最新版git
【git】linux 编译安装最新版git
44 0
|
10天前
|
关系型数据库 Linux PHP
linux 编译安装php7.2 实测!!
linux 编译安装php7.2 实测!!
10 0
|
12天前
|
Linux 计算机视觉
Linux交叉编译opencv并移植ARM端
通过以上步骤,你可以在Linux上交叉编译OpenCV,并将生成的库文件和头文件移植到ARM平台上,从而在ARM上使用OpenCV。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
29 0
|
3月前
|
Ubuntu Linux 计算机视觉
Linux安装和使用OpenCV
Linux安装和使用OpenCV
|
4月前
|
缓存 关系型数据库 Linux
linux(三十八)编译安装软件与使用yum源安装软件
linux(三十八)编译安装软件与使用yum源安装软件
54 0
|
7月前
|
Linux 编译器 C语言
Linux下编译安装最新版gcc
Linux下如何自行升级到最新版的gcc
130 0
|
7月前
|
算法 自动驾驶 Linux
嵌入式Linux系列第17篇:移植OpenCV
嵌入式Linux系列第17篇:移植OpenCV
|
7月前
|
Linux C语言
实验:CentOS 7 编译安装最新版内核 Linux Kernel 6.5.2
CentOS 7 编译安装最新版内核 Linux Kernel 6.5.2
435 0
|
关系型数据库 MySQL Linux
当你在Linux系统中编译安装MySQL数据库卡住了怎么办?
当你在Linux系统中编译安装MySQL数据库卡住了怎么办?
当你在Linux系统中编译安装MySQL数据库卡住了怎么办?