【直捣黄龙】树莓派安装OpenCV 3.4.1

版权声明:如需转载请标注 https://blog.csdn.net/weixin_40973138/article/details/84197532

首先把准备工作做好,先确保已经更换好源:树莓派换源
首先说说配置:我的树莓派是2018年11月份买的,系统是2018-11-13-raspbian-stretch
附上:树莓派系统下载地址

本文代码均可直接复制进shell

1.安装OpenCV 依赖包:

a. 更新软件源 + 升级安装包 + 升级固件

sudo apt-get update
sudo apt-get upgrade

固件较新或Ubuntu 则可忽略此步:

sudo rpi-update

b. 安装构建OpenCV 相关的工具

sudo apt-get install build-essential cmake git pkg-config

其中包括build-essential、cmake、git和pkg-config

c. 安装常用图像工具包

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

d. 安装视频I/O包

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

e. 安装gtk2.0

sudo apt-get install libgtk2.0-dev

f. 优化函数包

sudo apt-get install libatlas-base-dev gfortran

至此,OpenCV 依赖包已经全部安装完成。

2. 编译OpenCV源代码的准备工作

a. 下载OpenCV

使用wget工具下载OpenCV 压缩包到用户目录下:

wget -O opencv-3.4.1.zip https://github.com/Itseez/opencv/archive/3.4.1.zip

解压OpenCV:

unzip opencv-3.4.1.zip

下载OpenCV_contrib库:

wget -O 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

b. 进入解压后的OpenCV 源码文件夹

cd opencv-3.4.1

c. 新建一个名为release的文件夹用来存放cmake编译时产生的临时文件

mkdir release
cd release

d. 配置cmake编译参数

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 ..

其中参数简介:

参数 作用
CMAKE_BUILD_TYPE=RELEASE 编译方式
CMAKE_INSTALL_PREFIX 安装目录
OPENCV_EXTRA_MODULES_PATH 加载额外模块
INSTALL_PYTHON_EXAMPLES 安装官方python例程
BUILD_EXAMPLES 编译例程

3. 正式开始编译:

a. 编译

此过程极为漫长,我一共编译了4个小时!!!

sudo make

b. 安装

sudo make install

c. 更新动态链接库

sudo ldconfig

恭喜!您已成功安装OpenCV!

下面就来利用一个简单的Python 程序检验一下OpenCV 是否正常工作

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

若OpenCV 正常工作,则屏幕显示一条白色斜线:
在这里插入图片描述
最后说一句,在此我极度建议大家备份一下,不然花了那么长时间安装好,万一出了点差错,TF卡坏了,那真是…哔了狗了

猜你喜欢

转载自blog.csdn.net/weixin_40973138/article/details/84197532