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

网站搭建文案WordPress将开发

网站搭建文案,WordPress将开发,开发一整个网站要多久,北京网站搭建报价文章目录 1、需求描述2、正常方法 cv2.read3、加速方法 imutils.video.FileVideoStream4、涉及到的核心库函数4.1、imutils.video.FPS4.2、imutils.video.FileVideoStream 5、参考 1、需求描述 使用线程和队列数据结构将视频文件的 FPS 速率提高 #xff01; 我们的目标是将… 文章目录 1、需求描述2、正常方法 cv2.read3、加速方法 imutils.video.FileVideoStream4、涉及到的核心库函数4.1、imutils.video.FPS4.2、imutils.video.FileVideoStream 5、参考 1、需求描述 使用线程和队列数据结构将视频文件的 FPS 速率提高 我们的目标是将视频文件帧的读取和解码移动到程序的一个完全独立的线程中释放我们的主线程来处理实际的图像处理。 2、正常方法 cv2.read import datetime# class FPS: # def __init__(self): # # 存储开始时间、结束时间和在开始和结束间隔之间检查的帧总数 # self._start None # self._end None # self._numFrames 0 # # def start(self): # # 开始计时器 # self._start datetime.datetime.now() # return self # # def stop(self): # # 停止计时器 # self._end datetime.datetime.now() # # def update(self): # # 增加在开始和结束间隔期间检查的总帧数 # self._numFrames 1 # # def elapsed(self): # # 返回开始和结束间隔之间的总秒数 # return (self._end - self._start).total_seconds() # # def fps(self): # # 计算每秒(近似)帧数 # return self._numFrames / self.elapsed()# import the necessary packages from imutils.video import FPS import numpy as np import argparse import imutils import cv2 # 构造参数解析器并解析参数 ap argparse.ArgumentParser() # 解析我们的命令行参数。对于这个脚本我们只需要一个开关 --video 它是我们输入视频文件的路径。 ap.add_argument(-v, --video, default1.mp4,helppath to input video file) args vars(ap.parse_args()) # 打开一个指向视频流的指针并启动FPS定时器 stream cv2.VideoCapture(args[video]) fps FPS().start() # 启动一个我们可以用来测量 FPS 的计时器# 循环视频文件流中的帧 while True:# 从线程视频文件流中抓取帧(grabbed, frame) stream.read()# 如果帧没有被抓取那么我们已经到达了流的末尾if not grabbed:break# 调整帧大小并将其转换为灰度同时仍保留 3 个通道frame imutils.resize(frame, width450)frame cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)frame np.dstack([frame, frame, frame])# 在图像中显示一段文本这样我们就可以公平地对快速方法进行基准测试cv2.putText(frame, Slow Method, (10, 30),cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 255, 0), 2)# 显示帧并更新 FPS 计数器cv2.imshow(Frame, frame)cv2.waitKey(1)fps.update()# 停止定时器显示FPS信息 fps.stop() print([INFO] elasped time: {:.2f}.format(fps.elapsed())) print([INFO] approx. FPS: {:.2f}.format(fps.fps())) # 做一些清理工作 stream.release() cv2.destroyAllWindows()output [INFO] elasped time: 13.08 [INFO] approx. FPS: 29.273、加速方法 imutils.video.FileVideoStream # 导入必要的包 from imutils.video import FileVideoStream from imutils.video import FPS import numpy as np import argparse import imutils import time import cv2# 构造参数解析并解析参数 ap argparse.ArgumentParser() ap.add_argument(-v, --video, default1.mp4,helppath to input video file) args vars(ap.parse_args()) # 启动文件视频流线程并允许缓冲区开始填充 print([INFO] starting video file thread...) fvs FileVideoStream(args[video]).start() time.sleep(1.0) # 启动 FPS 计时器 fps FPS().start()# 循环播放视频文件流中的帧 while fvs.more():# 从线程视频文件流中抓取帧调整大小并将其转换为灰度同时仍保留 3 个通道frame fvs.read()try:frame imutils.resize(frame, width450)except:breakframe cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)frame np.dstack([frame, frame, frame])# 在frame上显示队列的大小cv2.putText(frame, Queue Size: {}.format(fvs.Q.qsize()),(10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 255, 0), 2)# 显示帧并更新 FPS 计数器cv2.imshow(Frame, frame)cv2.waitKey(1)fps.update()# 停止计时器并显示 FPS 信息 fps.stop() print([INFO] elasped time: {:.2f}.format(fps.elapsed())) print([INFO] approx. FPS: {:.2f}.format(fps.fps())) # 做一些清理工作 cv2.destroyAllWindows() fvs.stop()output [INFO] starting video file thread... [INFO] elasped time: 8.87 [INFO] approx. FPS: 43.19帧率从30-提升到了40 确实有效 4、涉及到的核心库函数 4.1、imutils.video.FPS import datetimeclass FPS:def __init__(self):# 存储开始时间、结束时间和在开始和结束间隔之间检查的帧总数self._start Noneself._end Noneself._numFrames 0def start(self):# 开始计时器self._start datetime.datetime.now()return selfdef stop(self):# 停止计时器self._end datetime.datetime.now()def update(self):# 增加在开始和结束间隔期间检查的总帧数self._numFrames 1def elapsed(self):# 返回开始和结束间隔之间的总秒数return (self._end - self._start).total_seconds()def fps(self):# 计算每秒(近似)帧数return self._numFrames / self.elapsed()4.2、imutils.video.FileVideoStream # import the necessary packages from threading import Thread import sys import cv2# 从 Python 3 导入 Queue 类 if sys.version_info (3, 0):from queue import Queue # 否则为 Python 2.7 导入 Queue 类 else:from Queue import Queueclass FileVideoStream:def __init__(self, path, queueSize128):# 初始化文件视频流以及用于指示线程是否应该停止的布尔值self.stream cv2.VideoCapture(path)self.stopped False# 初始化存储视频文件帧的队列self.Q Queue(maxsizequeueSize)def start(self):# 启动一个线程从文件视频流中读取帧t Thread(targetself.update, args())t.daemon Truet.start()return selfdef update(self):# 循环while True:# 如果设置了线程指示器变量则停止线程if self.stopped:return# 否则请确保队列中有空间if not self.Q.full():# 从文件中读取下一帧(grabbed, frame) self.stream.read()# 如果 grabbed 布尔值为 False那么我们已经到了视频文件的末尾if not grabbed:self.stop()return# 将帧添加到队列中self.Q.put(frame)def read(self):# 返回队列中的下一帧return self.Q.get()def more(self):# 如果队列中还有帧则返回 Truereturn self.Q.qsize() 0def stop(self):# 指示应该停止线程self.stopped True5、参考 参考学习来自 基于cv2.VideoCapture 和 OpenCV 得到更快的 FPS之文件篇 基于cv2.VideoCapture 和 OpenCV 得到更快的 FPS之Webcam篇
http://www.hkea.cn/news/14310924/

相关文章:

  • iis7.5添加php网站WordPress post登录
  • 网站建设廉政风险点北京公司公示在哪个网站
  • 网站开发毕设题目网站集成微信登陆
  • 比较好的网站公司吗成都网站设计推荐
  • 公司的网站建设注意点网站开发合同免费模板
  • 代理网站备案表出售自己的网站
  • wordpress漏洞复现知乎seo排名的搜软件
  • 网站做的比较好的贸易公司wordpress 缓存时间
  • 南通网站制作公司北京网络营销策划公司
  • 网站域名列表怎么填写建网站网络推广优势
  • 网站不能自行备案吗株洲网络学院登录
  • 上海网站建设推荐广州 网站开发 app
  • 德邦公司网站建设特点网站建设zrhskj
  • 江苏建设厅网站查询网页视频下载安卓
  • 金华建设网站太原商城网站建设
  • 商业类网站的设计与制作页面禁止访问
  • 做培训的网站建设贵州城乡住房和建设厅网站
  • 网站建设服务费进入什么科目网站后台搭建图文
  • 余姚网站制作公司什么网站做玩具的外贸
  • 网站设计师培训中心页面设计好了怎么做
  • 大连模板网站制作哪家好1997年网站建设项目
  • 网站建设赚钱么seo站长工具箱
  • erp系统长什么样无锡正规网站seo公司
  • 雄安专业网站建设方案wordpress 广告位
  • 请人做软件开发的网站wordpress显示标签页
  • 网站开发考研是什么专业建设一个网站平台需要哪些技术员
  • 网站做优化的必要性wordpress 转载插件
  • 网站拒绝了您的访问二次开发是什么意思
  • 苏州市住房和城乡建设局网站郑州网站建设汉狮
  • 太原建设网站公司专业网站