树莓派安装OpenCV-Python

之前在MacOS上安装OpenCV还比较顺利,直接在PyCharm里用pip安装就成功了。但是在树莓派上安装OpenCV一直依赖关系的错。最终在重新安装完Raspberry OS之后,用清华的源安装成功了。

更换清华源

官方资料:Raspbian 镜像使用帮助

设置:

# 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib

# 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

安装OpenCV-Python

执行命令:

# 安装必要软件
sudo apt-get install -y libjasper-dev libqtgui4 libqt4-test

# 安装OpenCV
sudo apt install python-opencv

3b+更换为国内源的话大概一两分钟,就安装完成了。

测试

利用OpenCV打开摄像头,并读取视频数据显示出来:

# !/usr/bin/env python
# _*_ coding:utf-8 _*_


import cv2
import numpy as np

cap = cv2.VideoCapture(0)
if not cap.isOpened():
    print("camera is still closed.")
while cap.isOpened():
    ret, frame = cap.read()
    if ret == True:
        cv2.imshow('Frame', frame)
        if cv2.waitKey(25) & 0xFF == ord('q'):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

如果是利用终端命令通过ssh远程执行的话,会出错:cannot open display,因为ssh无法打开窗口,在树莓派终端执行不会报错。