树莓派摄像头ov5647与opencv配置 踩坑合集 23年8月

系统:64位 树莓派os官方 (2023年5月)
摄像头 ov5647,其他摄像头可能不一样!但是可以参考!

本帖子持续更新,欢迎评论区骚扰。
笔者在摄像头配置上这几天踩了无数个坑,看了上百个帖子,装了十几个系统,最后用官方最新系统配置成功。

如果你实在实在配置不成功,可以直接用我已经备份好的系统!里面已经配好了Opencv和摄像头!!!

链接:https://pan.baidu.com/s/1RNmWxQG_Pl3ouAW7GBzpbQ?pwd=qqqq
提取码:qqqq

首先,树莓派官网系统更新到bulleye后(之前是Buster),raspistill是不可用的,只能用libcamera-hello。其次在raspi-config里,必须要开启lagacy camera!
但是要注意!如果你不修改/boot/config.txt的话,你的libcamera-hello是用不了的!!!你必须在configtxt里加上dtoverlay=ov5647!当然这也是笔者踩坑的开始,因为只要你加入了dtoverlay=ov5647,你的opencv大概率就打不开摄像头了!一定要记住!!!划重点!!!
这时候我便以为是opencv的问题了,结果换了各种opencv版本,换32位系统,都不行,光调这个就花了两天时间,这两天我很想砸电脑紫砂。没办法,各处教程都是教人添加dtoverlay=ov5647,这可能是因为他们是21年左右的系统,就是这么配置的。

所以说,总结一下正确的(针对本版本系统)配置路线:
1,我是先SSH登录,raspi-config,开VNC,开Legacy Camera,不要重启(重启也没事)。
2,输入

sudo nano /boot/config.txt

把hdmi hot plug前面的#删掉,方便VNC登录,如果删掉后hdmi这句前面有空格要删掉,顶着句首,因为Linux下对字母大小写空格都敏感,严格点吧…
其他的不要手欠不要碰!
2,这步对于有些电脑必要,有的电脑不必要。打开VNC后右上角有VNC标志,点开,然后option,troubleshooting,把第一个√点上,允许建立摄像头的画面。当然,这步我觉得不要先做,如果不出图像再说。
3,

sudo vcgencmd get_camera

正常会出现前俩都是1。代表检测成功,基本确定配置成功。
4,安装opencv,这一部分只用两句,均采用清华源加速。
第一句

pip install opencv-python -i  https://pypi.tuna.tsinghua.edu.cn/simple

第二句

pip install numpy --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple

一定要记住我这是64位树莓派,32位的这么装估计不行!
5,用opencv测试,测试代码:

import cv2

# 创建摄像头对象
cap = cv2.VideoCapture(0)

# 检查摄像头是否成功打开
if not cap.isOpened():
    print("无法打开摄像头")
    exit()
    
# 调整摄像头的曝光和对比度设置
#cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0.25)  # 关闭自动曝光
#cap.set(cv2.CAP_PROP_EXPOSURE, -13)  # 设置曝光值(范围:-13-1,值越小曝光越低)
#cap.set(cv2.CAP_PROP_CONTRAST, 60.0)  # 设置对比度值(默认为1.0

# 循环读取摄像头画面
while True:
    # 读取一帧图像
    ret, frame = cap.read()

    # 检查图像是否成功读取
    if not ret:
        print("无法获取图像帧")
        break

    # 在窗口中显示图像
    cv2.imshow("Camera", frame)

    # 按下 'q' 键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放摄像头资源
cap.release()

# 关闭窗口
cv2.destroyAllWindows()

注:
1,注意我的摄像头和系统版本,别的摄像头和系统可能有所差别。
2,我这是全程的配置过程,根本无需安装uv4l,我猜测是新系统直接自带uv4l。
3,连接屏幕可能不行。
特别感谢我的同学和一位交流群的朋友,给我帮了大忙。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值