(树莓派)OpenCV3源码方式安装教程(最新3.4.1)

(树莓派、linux通用)OpenCV3源码方式安装教程(最新3.4.1)
**备注:**用SSH远程连接树莓派可以实现两机间右键粘贴的功能

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

设置更新源
登录官网查看提供的中国的镜像网址。这里选了清华的镜像

编辑/etc/apt/sources.list文件。参考命令行为:

$ sudo nano /etc/apt/sources.list

(nano用法,ctrl+o是保存,然后回车确认,最后ctrl+x退出)
用#注释掉原文件内容,用以下内容取代:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi 
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi

以下raspi.list文件可以不改,我就没有改,一样很成功。
编辑/etc/apt/sources.list.d/raspi.list文件。参考命令行为:

$ sudo nano /etc/apt/sources.list.d/raspi.list

(nano用法,ctrl+o是保存,然后回车确认,最后ctrl+x退出1
用#注释掉原文件内容,(以下raspi.list文件可以不改,我就没有改,一样很成功)用以下内容取代:

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ jessie main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ jessie main ui

注意: 网址末尾的raspbian重复两次是必须的。因为Raspbian的仓库中除了APT软件源还包含其他代码。APT软件源不在仓库的根目录,而在raspbian/子目录下。

编辑镜像站后,请使用sudo apt-get update命令,更新软件源列表,同时检查您的编辑是否正确。

// 软件源更新
sudo apt-get update 
// 升级本地所有安装包,最新系统可以不升级,版本过高反而需要降级才能安装(最好别用,有问题再升级)
sudo apt-get upgrade
// 升级树莓派固件,固件比较新则不用执行(我没用以下这句,最好别用)
sudo rpi-update

然后安装构建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

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

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev下面安装gtk2.0:

sudo apt-get install libgtk2.0-dev

优化函数包:

sudo apt-get install libatlas-base-dev gfortran

恭喜你,执行到这里就把OpenCV的依赖包全部安装好了,之后要开始编译OpenCV源代码了,请大家用wget工具下载到用户目录下(源码要放在有执行权限的位置,不是安装位置),命令如下:

// 使用wget下载OpenCV源码,觉得慢的话可以到https://github.com/opencv/opencv/releases下载OpenCV的源代码// tar.gz格式,需要解压好,放到用户目录下// 但是OpenCV_contrib请大家使用wget,亲测直接到Github下载zip文件的话,会有编译问题
// 下载OpenCV(--no-check-certificate代表不检查网址安全证书,我的就是一直说https://github.com/的证书不安全拒绝访问,废了好大的劲才找到的这个参数,完美解决问题。-O表示把文件保存到本地,没有此参数无法生成opencv-3.4.1.zip)
wget -O --no-check-certificate opencv-3.4.1.zip https://github.com/Itseez/opencv/archive/3.4.1.zip

// 解压OpenCVunzip opencv-3.4.1.zip
// 下载OpenCV_contrib库:wget -O --no-check-certificate opencv_contrib-3.4.1.zip https://github.com/Itseez/opencv_contrib/archive/3.4.1.zip
// 解压OpenCV_contrib库: 
unzip opencv_contrib-3.4.1.zip 
// 进入源码文件夹

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

// 新建release文件夹
mkdir release
// 进入release文件夹
cd release
设置cmake编译参数,安装目录默认为/usr/local ,注意参数名、等号和参数值之间不能有空格,但每行末尾“\”之前有空格,参数值最后是两个英文的点:( CMAKE_BUILD_TYPE是编译方式* CMAKE_INSTALL_PREFIX是安装目录* OPENCV_EXTRA_MODULES_PATH是加载额外模块* INSTALL_PYTHON_EXAMPLES是安装官方python例程* BUILD_EXAMPLES是编译例程,这两个可以不加,不加编译稍微快一点点,想要C语言的例程的话,在最后一行前加参数INSTALL_C_EXAMPLES=ON \)

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.1/modules \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D BUILD_EXAMPLES=ON …
之后开始正式编译过程(前两句时间很久,每句半天时间,最后一句很快,瞬间完成):

// 编译,否则容易出错
sudo make
// 安装
sudo make install
// 更新动态链接库
sudo ldconfig

到这里,OpenCV的编译完成,已经可以正常使用了,下面我提供一个Python语言的测试程序(黑色背景中生成一条斜线),用来测试OpenCV是否正常(新建一个test.py文件,代码写到此文件中,然后用python 运行):

import cv2
import numpy as npcv2.namedWindow("gray")
img = np.zeros((512,512),np.uint8)#生成一张空的灰度图像
cv2.line(img,(0,0),(511,511),255,5)#绘制一条白色直线
cv2.imshow("gray",img)#显示图像
cv2.waitKey(0) 
cv2.destoryWindow("gray") 

解决无法打开摄像头硬件问题

sudo nano /etc/modules
// 进入编辑界面后,在末尾添加输入
snd-bcm2835
bcm2835-v4l2

在这里插入图片描述

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值