树莓派安装opencv

为了方便查看,以及日后的学习,所以把opencv的安装方法整理了一下。安装过程踩了不少的坑。希望对大家有所帮助。
本文参考:https://blog.csdn.net/ninwji/article/details/100798014
本文涉及到资源下载:https://download.csdn.net/download/weixin_41873310/12234825

1、安装numpy

打开命令行界面,输入以下命令,安装Python科学计算库numpy

sudo pip3 install numpy

2、在树莓派设置中把根目录扩大到整个SD卡

命令行界面输入命令,进入树莓派配置界面。用上下键和左右键切换光标位置。

sudo raspi-config

在这里插入图片描述在这里插入图片描述

3、安装OpenCV所需的库

挨个运行下面命令。共需要七分钟(注意倒数第三条命令中要安装四个-dev软件包)。

sudo apt-get install build-essential git cmake pkg-config -y
sudo apt-get install libjpeg8-dev -y
sudo apt-get install libtiff5-dev -y
sudo apt-get install libjasper-dev -y
sudo apt-get install libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran -y

4、下载OpenCV

在命令行输入以下三条命令,下载两个压缩包到树莓派的/home/pi/Downloads目录下。第一个压缩包86.8MB,第二个压缩包54.5MB:
用git 下载非常慢,这里我把安装需要的文件统一整理了出来,下载地址
https://download.csdn.net/download/weixin_41873310/12234825
下载完成后可以直接把opencv.zip和opencv_contrib.zip复制到树莓派的home/pi/Downloads文件目录下,进行后续的操作

进入Downloads文件夹
cd /home/pi/Downloads
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git
git clone -b 4.1.0 --recursive https://github.com/opencv/opencv_contrib.git

5、解压

进入Downloads文件夹,解压
一句一句执行这三句语句

cd /home/pi/Downloads
unzip opencv.zip
unzip opencv_contrib.zip

解压完之后把解压出来的opencv和opencv_contrib文件夹移动到/home/pi目录下,不移动的话到后面的Cmake配置的时候就要把对应的文件目录修改一下,不然会报错哦

6、Cmake 配置,可输出适配于树莓派平台的Makefile

Cmake 经过配置,可输出适配于树莓派平台的Makefile
根据刚才下载的文件路径进行切换,并在目录下新建一个build文件夹
cd /home/pi/opencv
创建build文件夹

mkdir build

进入build文件夹

cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON \
-D WITH_LIBV4L=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.7 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
-D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
..

/**************************************************************************************/

注意,以上需要根据具体的环境进行修改,否则会报错。 其中: CMAKE_BUILD_TYPE=RELEASE \ 代表编译类型为发行版本
CMAKE_INSTALL_PREFIX=/usr/local \ 安装路径 INSTALL_C_EXAMPLES=ON \ C demo
INSTALL_PYTHON_EXAMPLES=ON \ Python demo
OPENCV_EXTRA_MODULES_PATH=/home/pi/…/opencv/opencv_contrib/modules
你的OpenCV_Contrib 路径 BUILD_EXAMPLES=ON \ 编译demo WITH_LIBV4L=ON
\ 开启Video for Linux PYTHON3_EXECUTABLE=/usr/bin/python3.7 \ Python3.7
树莓派python 路径 PYTHON_INCLUDE_DIR=/usr/include/python3.7 \ Python3.7
include 文件夹
PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so
Python3.7 库
PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include
\ Python3 Numpy安装路径 …
在这里插入图片描述在这里插入图片描述

7、编译:

这里使用make 、不知道为什么用make -j4老出错,所以用make
在这里插入图片描述
出现报错
把下载文件里面的opencv-补充文件.zip解压,全选这些文件,利用WInSCP复制到树莓派的/home/pi/…/opencv_contrib/modules/xfeatures2d/src目录下
在这里插入图片描述
然后继续make编译

又接着会报错:
在这里插入图片描述
复制/home/pi/opencv/modules/features2d/test路径下的这两个文件
在这里插入图片描述
到/home/pi/opencv_contrib/modules/xfeatures2d/test目录下
然后修改test_features2d.cpp文件里面的内容如下图:
在这里插入图片描述
继续编译
又会报错
在这里插入图片描述
这回看报错的路径和缺少的文件到/home/pi/opencv/modules/features2d/test路径下找到相应的文件,复制到
/home/pi/opencv_contrib/modules/xfeatures2d/test里面去,看这个文件是哪里出的错,比如
在这里插入图片描述
就是这个路径下的这个文件调用的时候报错了,去这个路径下找到test_rotation_and_scale_invariance.cpp然后修改#include 的路径如:
在这里插入图片描述继续make,如果发生错误,继续利用上述方法解决

8、编译完成后安装

sudo make install
在这里插入图片描述
输入python3后import一下这样就行了

9、测试代码:

# -*- 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)#显示图像
#循环等待,按q键退出
while True:
    key=cv2.waitKey(1)
    if key==ord("q"):
        break
cv2.destoryWindow("gray")

在这里插入图片描述
这样就是成功了,哈哈哈

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值