之前在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无法打开窗口,在树莓派终端执行不会报错。