树莓派4b快速安装Opencv4.4

最近因为项目需要,需要在树莓派4b上安装OpenCV, 网上的方法需要用到CMake和OpenCV源代码编辑,装了一上午还没成功。只好重头再来,换种方法,采用下面的方法只需半小时左右即可完成安装。

一、安装最新树莓派系统

1.下载最新的操作系统,我这里用的是2020-08-20-raspios-buster-armhf-full

初始设置中,地区选美国,语言选美式英语,勾选英语和美式键盘。

一、换镜像源

1.        打开配置文件进行修改

sudo nano /etc/apt/sources.list

将原先的源注释掉,换上清华源

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



2.        打开第二个配置文件

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

将原先的源注释掉,换上清华源

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui


二、连接启用摄像头

2.(可选,安装不成功再执行这一步)开机设置初始化项目,执行以下两个命令。(需要下载几百兆的文件,时间稍长)

sudo apt-get update
sudo apt-get upgrade

3.断电连接摄像头硬件,启动摄像头模块。

sudo raspi-config

选择Interfacing Options->P1 Camera,进行启用。

4.重启系统,输入如下命令即可进行拍照:

sudo raspistill -o 文件名.jpg

在树莓派的【开始】菜单中,选择【图像】【图像查看器】,可以打开上述文件。

三、安装OpenCV库

5.安装相关依赖库

sudo apt-get update
sudo apt-get install libjpeg-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libtiff5-dev
sudo apt-get install libqtgui4 libqt4-test
sudo apt-get install libjasper-dev

6.安装OpenCV

sudo pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

测试OpenCV

python3
import cv2

如提示如下错误,说明numpy库版本不正确

RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

 解决方法:

pip3 install --upgrade -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com numpy

7.安装pyDes、PyInstaller 

sudo pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
sudo pip3 install pyinstaller==4.5 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

 如提示PyInstaller Pre-Compiled Bootloader Not Found and Build Fails

git clone https://github.com/pyinstaller/pyinstaller
cd pyinstaller/bootloader
python3 ./waf distclean all

8.在树莓派的【开始】菜单中,选择【编程】【Thonny Python IDE】,执行如下代码

import cv2
import numpy as np
 
cap = cv2.VideoCapture(0)
while(1):
 # get a frame
 ret, frame = cap.read()
 # show a frame
 cv2.imshow("capture", frame)
   
 if cv2.waitKey(1) & 0xFF == ord('q'):
 #退出并拍照
  cv2.imwrite("takephoto2.jpg", frame)
  print("take Photo Ok")
  break
cap.release()
cv2.destroyAllWindows()

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值