当前位置: 首页 > news >正文

博客做公司网站微信引流推广精准粉

博客做公司网站,微信引流推广精准粉,四川绵阳网站建设,wordpress模特主题目录 前提步骤 打开树莓派摄像头 查看是否有图像,登录游览器打开树莓派IP地址的8080端口 获取mjpg的视频流url 代码 先设定好mjpg的视频流的url 利用opencv库中的v2.VideoCapture类读取mjpg视频流 cv2.VideoCapture() 检查摄像头是否成功打开,…

目录

前提步骤

打开树莓派摄像头

查看是否有图像,登录游览器打开树莓派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. 树莓派可以用mjpg-streame库开启摄像头
  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()

  • 使用cv2.VideoCapture类的一个实例,可以通过传入摄像头设备ID或视频文件路径来连接摄像头或读取视频文件。例如,cv2.VideoCapture(0)表示打开笔记本的内置摄像头,cv2.VideoCapture("..\test.avi")表示打开指定路径的视频文件。
    cap = cv2.VideoCapture(f'http://{ip_address}:{port_number}/?action=stream')

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

  • cap.isOpened()是OpenCV中VideoCapture类的一个函数,用于检查视频是否成功打开。如果返回值为True,表示视频已经成功打开,反之则没有成功打开。
    if not cap.isOpened():print("无法打开摄像头")exit()

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

  • 得到一个240行,320列,3个通道(颜色通道)的数组,每个元素都是一个无符号8位整数(0-255)。
  • 该数组的形状为(240, 320, 3),并且数据类型为np.uint8。
  • 用于存储图像数据。许多图像格式(例如RGB)都有三个颜色通道,因此这个数组可以用于存储图像数据。
  • 在使用这个数组时,你可以像处理其他numpy数组一样处理它。
    # 创建一个空的numpy数组output来存储图像数据
    output = np.empty((240, 320, 3), dtype=np.uint8)

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

  • cap.read() 是 OpenCV 中 VideoCapture 类的函数
  • 该函数返回一个布尔值(True/False)以及一个帧图像。如果帧读取正确,则返回 True,否则返回 False。
  • ret 表示读取帧是否正确,frame 则是当前帧的图像。如果 ret 为 True,则可以处理 frame 图像;如果 ret 为 False,则表明视频已经读取完毕。
    ret, frame = cap.read()

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

  • cv2.imshow接受两个参数:窗口的名称和要显示的图像
  • 窗口名称是'output',要显示的图像是变量output
    cv2.imshow('output', output)

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

  • cv2.waitKey是 OpenCV 的一个函数,用于等待并处理键盘事件。
  • 50 是等待的毫秒数。这意味着如果用户在 50 毫秒内没有按任何键,则函数会返回当前活动的热键。否则,如果有按键被按下,它会被立即返回
    cv2.waitKey(50)

全部代码 

import cv2
import numpy as npip_address = '172.20.10.14'
port_number = 8080cap = 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.imwrite() 是 OpenCV 库中的一个函数
  • 用于将图像写入文件
  • 两个参数:输出文件名和要写入的图像。
  • 使用 cv2.imwrite() 将 img 写入名为 "image.jpg" 的文件中。
    cv2.imwrite("capture.jpg", output)  

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

  • cv2.imread() 是 OpenCV 库中的一个函数
  • 用于读取图像文件
  • 一个参数,即要读取的图像文件的路径
  • 如果图像文件不存在或无法读取,cv2.imread() 将返回 None。如果图像文件存在并成功读取,则将返回一个 NumPy 数组,其中包含图像的像素值。
  • cv2.imread() 函数默认使用 BGR 颜色空间,而非 RGB 颜色空间。
  • 如果需要在处理图像时使用 RGB 颜色空间,可以使用 cv2.cvtColor() 函数将 BGR 图像转换为 RGB 图像。
img = cv2.imread('input.jpg')  #如果是BGR图像
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
  • img_rgb 是通过将 img 从 BGR 颜色空间转换为 RGB 颜色空间得到的。在 OpenCV 中,图像的默认格式是 BGR,而大多数其他图像处理库(如 Python 的 PIL 或 matplotlib)使用 RGB 颜色空间。因此,如果你需要在这些库中处理 OpenCV 图像,可能需要进行颜色空间的转换。
  • mg_rgb 通常指的是 RGB 图像,而 img 通常指的是 BGR 图像。虽然它们在数值上是一样的(因为它们表示的是同一幅图像的像素值),但在处理图像时,使用哪个变量取决于你的需求。例如,如果你需要将图像显示在 matplotlib 中,你可能需要使用 img_rgb。如果你需要处理图像的颜色通道顺序,你可能需要使用 img
  • 总的来说,虽然 img_rgb 和 img 在数值上相同,但它们的使用和语义上有一些区别。

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

  • cap.release()是OpenCV库中的一个函数
  • 用于释放VideoCapture对象并关闭视频文件
  • 使用cv2.VideoCapture()创建一个VideoCapture对象后,这个对象会占用视频文件的相关资源,比如文件句柄、内存等。当你完成视频的读取后,应该调用cap.release()释放这些资源,以避免资源泄漏和占用。
    # 释放VideoCapture对象并关闭视频文件  
    cap.release()
  •  在调用cap.release()后,你不能再使用cap对象,否则会抛出异常。如果你需要再次读取视频文件,应该重新创建一个新的VideoCapture对象。

http://www.tj-hxxt.cn/news/121595.html

相关文章:

  • wordpress移动友好度大揭秘seo工资一般多少
  • 做网站的空间费用要多少网址大全2345
  • 网站动态模板seo云优化
  • 网站做app的软件叫什么百度提交入口网址在哪
  • 网站与网页之间的区别是什么活动推广软文范例
  • 几年前备案的网站现在网站不在了备案号还在吗网络营销品牌推广
  • 做的网站没流量吗西安疫情最新数据消息5分钟前
  • zbolg 去掉文章页带网站标题营销软件培训
  • 什么是运营管理安卓手机优化
  • 网站服务器类型查询天津关键词优化网站
  • 大石桥做网站谷歌浏览器怎么下载
  • 建设企业网站企业适合小学生的新闻事件
  • ASP动态网站制作渠道推广费用咨询
  • 沧州网络推广seo网络优化专员
  • 小程序游戏排行榜2022百度seo搜索
  • 苏州市住建局官网seo短视频
  • 电商修图技巧快速优化网站排名软件
  • 怎么搜才能搜到网站东莞网站到首页排名
  • 福州市网站建设情感营销
  • 北京大学两学一做网站千牛怎么做免费推广引流
  • 产品网站建设框架网络营销策划的概念
  • 同学聚会怎么样做网站网站搭建关键词排名
  • 网站制作建设公司测试自己适不适合做销售
  • 成都网站设计创新互联长沙网站seo优化公司
  • 建设个网站从哪里盈利百度快照没有了用什么代替了
  • 网站建设实例pdf下载趣丁号友情链接
  • erp软件有哪些品牌天天seo伪原创工具
  • 做网站横幅的软件抖音seo代理
  • 微信公众号接口文档seo视频教程
  • 商城网站管理系统seo推广软件品牌