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

用js做跳转到其他网站优化服务

用js做跳转到其他网站,优化服务,wordpress网站制作,上海企业建设网站1. 介绍 视频是由一张一张图片组成的,所以读取视频就相当于读取很多张图片,然后将其连起来cv2.VideoCapture可以捕获摄像头,但是针对树莓派的CSI摄像头调用方式采用了之前介绍的Picamera2 库,所以在调用的时候是有区别的&#xff…

1. 介绍

        视频是由一张一张图片组成的,所以读取视频就相当于读取很多张图片,然后将其连起来
cv2.VideoCapture可以捕获摄像头,但是针对树莓派的CSI摄像头调用方式采用了之前介绍的Picamera2 库,所以在调用的时候是有区别的,但是如果是事先准备的视频或者是 USB 摄像头使用cv2.VideoCapture初始化设备即可,如果是视频文件,直接写好视频路径就好。

2. 操作步骤

1) CSI 摄像头捕获彩色视频

        使用Picamera2库来操作CSI摄像头,但是一定要知道对应视频文件或者是USB摄像头可以直接使用OpenCV的原生态函数cv2.VideoCapture(),在后续的例程中会涉及到该函数的调用,这里还是采用Picamera2来显示摄像头画面!

# 1.载入库
import cv2def bgr8_to_jpeg(value, quality=75):return bytes(cv2.imencode('.jpg', value)[1])# 线程函数操作库
import threading # 线程
import ctypes
import inspect# 1.1 创建显示控件import traitlets
import ipywidgets.widgets as widgets
from IPython.display import display
makerobo_image = widgets.Image(format='jpeg', width=640, height=480)
display(makerobo_image)# 1.2 线程的结束代码def _async_raise(tid, exctype):tid = ctypes.c_long(tid)if not inspect.isclass(exctype):exctype = type(exctype)res = ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, ctypes.py_object(exctype))if res == 0:raise ValueError("invalid thread id")elif res != 1:ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None)raise SystemError("PyThreadState_SetAsyncExc failed")def stop_thread(thread):_async_raise(thread.ident, SystemExit)# 1.3 动态显示摄像头视频import numpy as np
import time
import ipywidgets.widgets as widgets
import libcamera
from picamera2 import Picamera2picamera = Picamera2()
config = picamera.create_preview_configuration(main={"format": 'RGB888', "size": (640, 480)},raw={"format": "SRGGB12", "size": (1920, 1080)})
config["transform"] = libcamera.Transform(hflip=0, vflip=1)
picamera.configure(config)
picamera.start()def Video_display():while True:frame = picamera.capture_array()makerobo_image.value = bgr8_to_jpeg(frame)# cap.release()# 1.4 开启线程t = threading.Thread(target=Video_display)
t.setDaemon(True)
t.start()# 1.5 结束线程stop_thread(t)

2) 从文件中播放视频

        它与从相机捕获相同,只是用视频文件名更改摄像机索引。另外,在显示框架时,使用适当的时间延时。如果太小,则视频将非常快,而如果太大,则视频将变得很慢。正常情况下25毫秒就可以了。

def bgr8_to_jpeg(value, quality=75):return bytes(cv2.imencode('.jpg', value)[1])import numpy as np
import cv2import traitlets
import ipywidgets.widgets as widgets
from IPython.display import display
face_image = widgets.Image(format='jpeg', width=640, height=480)
display(face_image)cap = cv2.VideoCapture('./images/walking.avi')while cap.isOpened():ret, frame = cap.read()# 如果正确读取帧,ret为Trueif not ret:print("Can't receive frame (stream end?). Exiting ...")breakframe = cv2.flip(frame,4)face_image.value = bgr8_to_jpeg(frame)

3) 从文件中播放视频

        所以我们捕捉一个视频,一帧一帧地处理,我们想要保存这个视频。对于图像,它非常简单,只需使用cv.imwrite()。这里还需要做一些工作。这次我们创建一个VideoWriter对象。我们应该指定输出文件名(例如: output.avi)。然后我们应该指定 FourCC 代码(详见下一段)。然后传递帧率的数量和帧大小。最后一个是颜色标志。如果为 True,编码器期望颜色帧,否则它与灰度帧一起工作。
        FourCC: http://en.wikipedia.org/wiki/FourCC 是用于指定视频编解码器的4字节代码。可用代码列表可在fourcc.org 中:http://www.fourcc.org/codecs.php 找到。它取决于平台。遵循编解码器对我来说效果很好。在Fedora 中:DIVX,XVID,MJPG,X264,WMV1,WMV2。(最好使用 XVID。MJPG 会生成大尺寸的视频。X264会生成非常小的尺寸的视频)在Windows 中:DIVX(尚待测试和添加)在OSX 中:MJPG (.mp4),DIVX (.avi),X264(.mkv)。FourCC代码作为MJPG的 cv.VideoWriter_fource ('M,'J','P”,'G)or cv. VideoWriter_fourcc(*'MJPC') 传递。在从摄像机捕获的代码下面,沿垂直方向翻转每一帧并保存。

# 载入库
import cv2def bgr8_to_jpeg(value, quality=75):return bytes(cv2.imencode('.jpg', value)[1])import numpy as np
import time
import ipywidgets.widgets as widgets
import libcamera
from picamera2 import Picamera2picamera = Picamera2()
config = picamera.create_preview_configuration(main={"format": 'RGB888', "size": (640, 480)},raw={"format": "SRGGB12", "size": (1920, 1080)})
config["transform"] = libcamera.Transform(hflip=0, vflip=1)
picamera.configure(config)
picamera.start()import traitlets
import ipywidgets.widgets as widgets
from IPython.display import display
makerobo_image = widgets.Image(format='jpeg', width=640, height=480)
display(makerobo_image)# 定义编解码器并创建VideoWriter对象
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
while True:frame = picamera.capture_array()frame = cv2.flip(frame, 4)# 写翻转的框架out.write(frame)makerobo_image.value = bgr8_to_jpeg(frame)# 完成工作后释放所有内容
cap.release()
out.release()

http://www.hkea.cn/news/170776/

相关文章:

  • 做程序网站需要什么代码宁波seo搜索排名优化
  • 网站建设开发语言新冠病毒最新消息
  • 怎么做1688网站网页制作工具有哪些
  • 一个网站的主题和设计风格最好用的免费建站平台
  • 网站开发主页手机优化游戏性能的软件
  • 怎么做属于自己的域名网站网络策划方案
  • destoon做的网站百度商务合作联系
  • 金山区网站制作网络营销策划书1500字
  • 厦门网站建设制作工具熊猫关键词挖掘工具
  • 徐州网站建设 网站推广百度首页快速排名系统
  • 在线转格式网站怎么做拼多多seo 优化软件
  • 成都理工疫情最新消息贵港seo
  • 网站如何防止攻击怎么自己做一个小程序
  • 企业网站建设英文百度收录
  • wordpress查版本sem和seo的区别
  • 网站设计说明书怎么写网站建设平台官网
  • 有建网站的软件阿里云域名注册万网
  • 站长工具排名分析怎么创建公司网站
  • 网站建设标书四川seo哪里有
  • 接网站开发做多少钱建一个外贸独立站大约多少钱
  • wordpress表单录入seo报告
  • python做网站显示表格星巴克seo网络推广
  • 一个com的网站多少钱管理微信软件
  • 蒙阴网站建设软文代写网
  • 用python做一旅游网站南昌seo计费管理
  • 湖北省建设厅win10优化软件哪个好
  • 湖南企业建站系统平台软文有哪些发布平台
  • 南通 网络 公司网站真正免费建站
  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础