OpenCV3源码方式安装教程(树莓派、linux通用)

前一段时间刚刚做了一个在树莓派上驱动双摄像头进行深度感应+人脸识别,从而区别真人人脸与照片的小家伙,用到了OpenCV,但是我能找到的安装配置OpenCV的教程真的是各种混乱,在花了数十个小时,踩了无数坑之后,我找出了一条最简单的可以顺利完成OpenCV编译安装的路,在Ubuntu16.04上也测试通过,在这里分享给大家。

首先我们要安装OpenCV所依赖的各种工具和图像视频库:

打开终端(Raspbain和Ubuntu的快捷键都是Ctrl + Alt +t),然后依次执行下列命令,网上很多教程都是放到一起执行的,但是一起执行往往会出现错误,也不好查错。

//软件源更新
sudo apt-get update 
//升级本地所有安装包,最新系统可以不升级,版本过高反而需要降级才能安装
sudo apt-get upgrade
//升级树莓派固件,固件比较新或者是Ubuntu则不用执行
sudo rpi-update
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后安装构建OpenCV的相关工具:

//安装build-essential、cmake、git和pkg-config
sudo apt-get install build-essential cmake git pkg-config 
    
    
  • 1
  • 2

之后安装常用图像工具包:

//安装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 
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

再安装视频I/O包(注意最后一个包的数字“4”后面是“L”):

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
    
    
  • 1

下面安装gtk2.0(树莓派很可能下载错误,更换中科大或者清华源即可,ubuntu有可能出现包版本过高的情况,需要将依赖包降级安装):

sudo apt-get install libgtk2.0-dev
    
    
  • 1

优化函数包:

sudo apt-get install libatlas-base-dev gfortran
    
    
  • 1

恭喜你,执行到这里就把OpenCV的依赖包全部安装好了,之后要开始编译OpenCV源代码了,请大家到https://github.com/opencv/opencv/releases 下载OpenCV的源代码(tar.gz格式,需要解压好)放到用户目录下(源码要放在有执行权限的位置,不是安装位置)或者是用git工具clone到所需目录下,git命令如下:

//使用git下载OpenCV源码,但推荐直接下载tar.gz,tar.gz速度较快
git clone https://github.com/opencv/opencv.git
    
    
  • 1
  • 2

找到你下载的源码文件夹并打开,tar.gz解压后文件夹名应该是opencv-3.2.0(版本号可能会变化),git方式下载的文件夹名应该是opencv。

//打开源码文件夹,这里以我发表文章时最新的3.2.0为例
cd opencv-3.2.0
    
    
  • 1
  • 2

之后我们新建一个名为release的文件夹用来存放cmake编译时产生的临时文件:

//新建release文件夹
mkdir release
//进入release文件夹
cd release
    
    
  • 1
  • 2
  • 3
  • 4

设置cmake编译参数,安装目录默认为/usr/local:

//CMAKE_BUILD_TYPE是编译方式,CMAKE_INSTALL_PREFIX是安装目录
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local ..
    
    
  • 1
  • 2
  • 3

之后开始正式编译过程:

//编译
sudo make
//安装
sudo make install
//更新动态链接库
sudo ldconfig
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

到这里,OpenCV的编译完成,已经可以正常使用了,下面我提供一个Python语言的测试程序,用来测试OpenCV是否正常:

# -*- coding:utf-8 -*-
import cv2
import numpy as np
cv2.nameWindow("gray")
img = np.zeros((512,512),np.uint8)#生成一张空的灰度图像
cv2.line(img,(0,0),(511,511),255,5)#绘制一条白色直线
cv2.imshow("gray",img)#显示图像
#循环等待,按q键退出
while True:
    key=cv2.waitKey(1)
    if key==ord("q"):
        break
cv2.destoryWindow("gray")
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

运行之后,显示的图片如下:
这里写图片描述

谢谢大家支持,愿大家都能配置好OpenCV,本教程到此结束!

            <link rel="stylesheet" href="http://static.blog.csdn.net/public/res-min/markdown_views.css?v=2.0">
                </div>

前一段时间刚刚做了一个在树莓派上驱动双摄像头进行深度感应+人脸识别,从而区别真人人脸与照片的小家伙,用到了OpenCV,但是我能找到的安装配置OpenCV的教程真的是各种混乱,在花了数十个小时,踩了无数坑之后,我找出了一条最简单的可以顺利完成OpenCV编译安装的路,在Ubuntu16.04上也测试通过,在这里分享给大家。

首先我们要安装OpenCV所依赖的各种工具和图像视频库:

打开终端(Raspbain和Ubuntu的快捷键都是Ctrl + Alt +t),然后依次执行下列命令,网上很多教程都是放到一起执行的,但是一起执行往往会出现错误,也不好查错。

//软件源更新
sudo apt-get update 
//升级本地所有安装包,最新系统可以不升级,版本过高反而需要降级才能安装
sudo apt-get upgrade
//升级树莓派固件,固件比较新或者是Ubuntu则不用执行
sudo rpi-update
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后安装构建OpenCV的相关工具:

//安装build-essential、cmake、git和pkg-config
sudo apt-get install build-essential cmake git pkg-config 
  
  
  • 1
  • 2

之后安装常用图像工具包:

//安装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 
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

再安装视频I/O包(注意最后一个包的数字“4”后面是“L”):

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
  
  
  • 1

下面安装gtk2.0(树莓派很可能下载错误,更换中科大或者清华源即可,ubuntu有可能出现包版本过高的情况,需要将依赖包降级安装):

sudo apt-get install libgtk2.0-dev
  
  
  • 1

优化函数包:

sudo apt-get install libatlas-base-dev gfortran
  
  
  • 1

恭喜你,执行到这里就把OpenCV的依赖包全部安装好了,之后要开始编译OpenCV源代码了,请大家到https://github.com/opencv/opencv/releases 下载OpenCV的源代码(tar.gz格式,需要解压好)放到用户目录下(源码要放在有执行权限的位置,不是安装位置)或者是用git工具clone到所需目录下,git命令如下:

//使用git下载OpenCV源码,但推荐直接下载tar.gz,tar.gz速度较快
git clone https://github.com/opencv/opencv.git
  
  
  • 1
  • 2

找到你下载的源码文件夹并打开,tar.gz解压后文件夹名应该是opencv-3.2.0(版本号可能会变化),git方式下载的文件夹名应该是opencv。

//打开源码文件夹,这里以我发表文章时最新的3.2.0为例
cd opencv-3.2.0
  
  
  • 1
  • 2

之后我们新建一个名为release的文件夹用来存放cmake编译时产生的临时文件:

//新建release文件夹
mkdir release
//进入release文件夹
cd release
  
  
  • 1
  • 2
  • 3
  • 4

设置cmake编译参数,安装目录默认为/usr/local:

//CMAKE_BUILD_TYPE是编译方式,CMAKE_INSTALL_PREFIX是安装目录
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local ..
  
  
  • 1
  • 2
  • 3

之后开始正式编译过程:

//编译
sudo make
//安装
sudo make install
//更新动态链接库
sudo ldconfig
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

到这里,OpenCV的编译完成,已经可以正常使用了,下面我提供一个Python语言的测试程序,用来测试OpenCV是否正常:

# -*- coding:utf-8 -*-
import cv2
import numpy as np
cv2.nameWindow("gray")
img = np.zeros((512,512),np.uint8)#生成一张空的灰度图像
cv2.line(img,(0,0),(511,511),255,5)#绘制一条白色直线
cv2.imshow("gray",img)#显示图像
#循环等待,按q键退出
while True:
    key=cv2.waitKey(1)
    if key==ord("q"):
        break
cv2.destoryWindow("gray")
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

运行之后,显示的图片如下:
这里写图片描述

谢谢大家支持,愿大家都能配置好OpenCV,本教程到此结束!

            <link rel="stylesheet" href="http://static.blog.csdn.net/public/res-min/markdown_views.css?v=2.0">
                </div>

猜你喜欢

转载自blog.csdn.net/intjun/article/details/78498460
今日推荐