张小白树莓派4B踩坑记(六)使用USB摄像头

张辉 发表于 2022/05/08 10:05:17 2022/05/08
【摘要】 本文介绍了如何在树莓派4B上通过OpenCV使用USB摄像头

1645650951075024878.png

上次说到树莓派使用CSI摄像头:https://bbs.huaweicloud.com/blogs/351395

以及Jetson AGX Orin使用USB摄像头:https://bbs.huaweicloud.com/blogs/351316


其实大家都可以使用USB摄像头。

上次的两个USB摄像头是没有标明产地、厂商的,但是今天到货的这个不一样:

有整洁的包装:

有小巧的说明书:

这次促销还送了三脚架。

貌似是还可以用来直播(只可惜张小白的颜值不足以进入直播界)。

商家可能也没想到摄像头会用到边缘设备上吧!

它就是大名鼎鼎的海康威视。

张小白Orin的nvme硬盘用的就是它:

小黄鸭64G的TF卡也是它:

当然了,品牌的溢价决定了,你用买1台720p品牌设备的价格,是可以买2台1080p的设备的。

浪子闲话少说,我们将USB线缆接好:

再看看/dev下的设备:

好像USB摄像头一如既往的成对出现了:

/dev/video1

/dev/video2

同样的,我们将camera.py改为camera1.py和camera2.py

分别改为:

camera1.py

 # 该程序打开摄像头,显示视频,按q拍摄一张照片并储存下来

import cv2

cap = cv2.VideoCapture(1)

while(1):
    # 获得图片
    ret, frame = cap.read()
    # 展示图片
    cv2.imshow("capture", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        # 存储图片
        cv2.imwrite("camera1.jpg", frame)
        break

cap.release()
cv2.destroyAllWindows()



和 camera2.py

# 该程序打开摄像头,显示视频,按q拍摄一张照片并储存下来

import cv2

cap = cv2.VideoCapture(2)

while(1):
    # 获得图片
    ret, frame = cap.read()
    # 展示图片
    cv2.imshow("capture", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        # 存储图片
        cv2.imwrite("camera2.jpg", frame)
        break

cap.release()
cv2.destroyAllWindows()


分别执行:

python camera1.py

按Q退出,生成camera1.jpg文件。

python camera2.py

同样也打不开/dev/video2,结果也算是在预料之中。

(未完待续)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。