目录

前提步骤

打开树莓派摄像头

查看是否有图像,登录游览器打开树莓派IP地址的8080端口

获取mjpg的视频流url

代码

先设定好mjpg的视频流的url

利用opencv库中的v2.VideoCapture类读取mjpg视频流   cv2.VideoCapture()

检查摄像头是否成功打开,如果没有,则打印错误消息并退出程序   cap.isOpened()

创建一个空的numpy数组    np.empty()

从视频中读取一帧图像    cap.read()

在窗口中显示图像输出    cv2.imshow

延时50毫秒,播放下一帧图像    cv2.waitKey

全部代码 

 将帧保存为图像   cv2.imwrite()

 读取图像  cv2.imread()    cv2.cvtColor

释放VideoCapture对象并关闭视频文件   cap.release()


前提步骤

  1. 树莓可以mjpgstreame开启摄像头
  2. 安装python

打开树莓派摄像头

  1. 进入mjpg
    cd mjpg-streamer/mjpg-streamer-experimental
  2. 启动摄像头脚本
    ./start.sh 

查看是否图像登录游览器打开树莓派IP地址的8080端口

http://xxx.xxx.xxx.xxx:8080

获取mjpg视频流url

点开stream复制当前网址url

http://xxx.xxx.xxx.xxx:8080/?action=stream

代码

先设定好mjpg视频流url

ip_address = '172.20.10.14'
port_number = 8080
url = f'http://{ip_address}:{port_number}/?action=stream'

利用opencv库中v2.VideoCapture读取mjpg视频流   cv2.VideoCapture()

检查摄像头是否成功打开,如果没有,则打印错误消息退出程序   cap.isOpened()

创建一个空的numpy数组    np.empty()

视频读取一帧图像    cap.read()

窗口显示图像输出    cv2.imshow

延时50毫秒播放一帧图像    cv2.waitKey

全部代码 

import cv2
import numpy as np

ip_address = '172.20.10.14'
port_number = 8080

cap = cv2.VideoCapture(f'http://{ip_address}:{port_number}/?action=stream')

if not cap.isOpened():
    print("无法打开摄像头")
    exit()

output = np.empty((240, 320, 3), dtype=np.uint8)

while True:
    ret, output = cap.read()
    cv2.imshow('output', output)
    cv2.waitKey(50)

 将帧保存为图像   cv2.imwrite()

 读取图像  cv2.imread()    cv2.cvtColor

img = cv2.imread('input.jpg')  

#如果是BGR图像
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

释放VideoCapture对象关闭视频文件   cap.release()

原文地址:https://blog.csdn.net/weixin_59669309/article/details/134792026

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47966.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注