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

哪里做网站便宜免费找精准客户的app

哪里做网站便宜,免费找精准客户的app,深圳电器公司排名,软件设计开发视频信号(以下简称为视频)是非常重要的视觉信息来源,它是视觉处理过程中经常要处理的一类信号。实际上,视频是由一系列图像构成的,这一系列图像被称为帧,帧是以固定的时间间隔从视频中获取的。获取&#xf…

视频信号(以下简称为视频)是非常重要的视觉信息来源,它是视觉处理过程中经常要处理的一类信号。实际上,视频是由一系列图像构成的,这一系列图像被称为帧,帧是以固定的时间间隔从视频中获取的。获取(播放)帧的速度称为帧速率,其单位通常使用“帧/秒”表示,代表在1 秒内所出现的帧数,对应的英文是 FPS(Frames Per Second)。如果从视频中提取出独立的帧,就可以使用图像处理的方法对其进行处理,达到处理视频的目的。

OpenCV 提供了 cv2.VideoCapture 类和 cv2.VideoWriter 类来支持各种类型的视频文件。在不同的操作系统中,它们支持的文件类型可能有所不同,但是在各种操作系统中均支持 AVI格式的视频文件。

VideoCapture 类

OpenCV 提供了 cv2.VideoCapture 类来处理视频。cv2.VideoCapture 类处理视频的方式非常简单、快捷,而且它既能处理视频文件又能处理摄像头信息。

类函数介绍

cv2.VideoCapture 类的常用函数包括初始化、打开、帧捕获、释放、属性设置等,下面对
这些函数进行简单的介绍。

1. 初始化
OpenCV 为 cv2.VideoCapture 类提供了构造函数 cv2.VideoCapture(),用于打开摄像头并完成摄像头的初始化工作。该函数的语法格式为:

捕获对象=cv2.VideoCapture(“摄像头 ID 号”)

式中:

  • “摄像头 ID 号”就是摄像头的 ID 号码。需要注意的是,这个参数是摄像设备(摄像头)的 ID 编号,而不是文件名。其默认值为-1,表示随机选取一个摄像头;如果有多个摄像头,则用数字“0”表示第 1 个摄像头,用数字“1”表示第 2 个摄像头,以此类推。
    所以,如果只有一个摄像头,既可以使用“0”,也可以使用“-1”作为摄像头 ID 号。在某些平台上,如果该参数值为“-1”,OpenCV 会弹出一个窗口,让用户手动选择希望使用的摄像头。

  • “捕获对象”为返回值,是 cv2.VideoCapture 类的对象。
    例如,要初始化当前的摄像头,可以使用语句:

cap = cv2.VideoCapture(0)

OpenCV 官网在介绍函数 cv2.VideoCapture()时,特别强调:视频处理完以后,要记得释放摄像头对象。
该(构造)函数也能够用于初始化视频文件,初始化视频文件时,参数为文件名。此时函数的形式为:

捕获对象=cv2.VideoCapture(“文件名”)

例如,打开当前目录下文件名为“vtest.avi”的视频文件,可以使用语句:

cap = cv2.VideoCapture('vtest.avi')
  1. cv2.VideoCapture.open()函数和cv2.VideoCapture.isOpened()函数

一般情况下,使用 cv2.VideoCapture()函数即可完成摄像头的初始化。有时,为了防止初始化发生错误,可以使用函数 cv2.VideoCapture.isOpened()来检查初始化是否成功。该函数的语法格式为:

retval = cv2.VideoCapture.isOpened()

该函数会判断当前的摄像头是否初始化成功:

  • 如果成功,则返回值 retval 为 True。
  • 如果不成功,则返回值 retval 为 False。

如果摄像头初始化失败,可以使用函数 cv2.VideoCapture.open()打开摄像头。该函数的语法格式为:

retval = cv2.VideoCapture.open( index )

式中:

  • index 为摄像头 ID 号。
  • retval 为返回值,当摄像头(或者视频文件)被成功打开时,返回值为 True。

同样,函数 cv2.VideoCapture.isOpened()和函数 cv2.VideoCapture.open()也能用于处理视频文件。在处理视频文件时,函数 cv2.VideoCapture.open()的参数为文件名,其语法格式为:

retval = cv2.VideoCapture.open( filename )

3. 捕获帧

摄像头初始化成功后,就可以从摄像头中捕获帧信息了。捕获帧所使用的是函数cv2.VideoCapture.read()。该函数的语法是:

retval, image=cv2.VideoCapture.read()

式中:

  • image 是返回的捕获到的帧,如果没有帧被捕获,则该值为空。
  • retval 表示捕获是否成功,如果成功则该值为 True,不成功则为 False。

4. 释放
在不需要摄像头时,要关闭摄像头。关闭摄像头使用的是函数

cv2.VideoCapture.release()。

该函数的语法是:

None=cv2.VideoCapture.release()

例如,当前有一个 VideoCapture 类的对象 cap,要将其释放,可以使用语句:

cap.release()

5 属性设置
有时,我们需要获取 cv2.VideoCapture 类对象的属性,或是更改该类对象的属性。函数cv2.VideoCapture.get()用于获取 cv2.VideoCapture 类对象的属性,该函数的语法格式是:

retval = cv2.VideoCapture.get( propId )

式中,参数 propId 对应着 cv2.VideoCapture 类对象的属性。
例如,有一个 cv2.VideoCapture 类对象 cvc,则:

  • 通过 cvc.get(cv2.CAP_PROP_FRAME_WIDTH),就能获取当前帧对象的宽度。
  • 通过 cvc.get(cv2.CAP_PROP_FRAME_HEIGHT),就能获取当前帧对象的高度。

函数 cv2.VideoCapture.set()用来设置 cv2.VideoCapture 类对象的属性。该函数的语法是:

retval = cv2.VideoCapture.set( propId, value )

式中,propId 对应 cv2.VideoCapture 类对象的属性,value 对应属性 propid 的值。
例如,有一个 cv2.VideoCapture 类对象 cvc,则:

  • 语句 ret = cvc.set(cv2.CAP_PROP_FRAME_WIDTH, 640)将当前帧对象的宽度设置为
    640 像素。
  • 语句 ret = cvc.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)将当前帧对象的高度设置为480 像素。

cv2.VideoCapture 类对象的属性值及含义如表 18-1 所示。

在这里插入图片描述
在这里插入图片描述

5. cv2.VideoCapture.grab()函数cv2.VideoCapture.retrieve()函数

一般情况下,如果需要读取一个摄像头的视频数据,最简便的方法就是使用函数
cv2.VideoCapture.read()。但是,如果需要同步一组或一个多头(multihead)摄像头(例如立体摄像头或 Kinect)的视频数据时,该函数就无法胜任了。可以把函数 cv2.VideoCapture.read()
理解为是由函数 cv2.VideoCapture.grab()和函数 cv2.VideoCapture.retrieve()组成的。函数
cv2.VideoCapture.grab()用来指向下一帧,函数 cv2.VideoCapture.retrieve()用来解码并返回一帧。

因此,可以使用函数 cv2.VideoCapture.grab()和函数cv2.VideoCapture.retrieve()获取多个摄像头的数据。

函数 cv2.VideoCapture.grab()用来指向下一帧,其语法格式是:

retval= cv2.VideoCapture.grab( )

如果该函数成功指向下一帧,则返回值 retval 为 True。
函数 cv2.VideoCapture.retrieve()用来解码,并返回函数 v2.VideoCapture.grab()捕获的视频帧。

该函数的语法格式为:

retval, image = cv2.VideoCapture.retrieve( )

式中:

  • image 为返回的视频帧,如果未成功,则返回一个空图像。
  • retval 为布尔型值,若未成功,返回 False;否则,返回 True。

对于一组摄像头,可以使用如下代码捕获不同摄像头的视频帧:

success0 = cameraCapture0.grab()
success1 = cameraCapture1.grab()
if success0 and success1:
frame0 = cameraCapture0.retrieve()
frame1 = cameraCapture1.retrieve()
与 VideoCapture 类内的其他函数一样,cv2.VideoCapture.grab()和 cv2.VideoCapture.retrieve()

也能用来读取视频文件。

示例:显示帅哥或美女视频

import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(cap.isOpened()):ret, frame = cap.read()cv2.imshow('frame',frame)c = cv2.waitKey(1)if c==27: #ESC 键break
cap.release()
cv2.destroyAllWindows()

文章转载自:
http://synchronism.wghp.cn
http://gymnorhinal.wghp.cn
http://masseter.wghp.cn
http://pithiness.wghp.cn
http://lem.wghp.cn
http://carshops.wghp.cn
http://gca.wghp.cn
http://amylolytic.wghp.cn
http://effect.wghp.cn
http://crinum.wghp.cn
http://nurse.wghp.cn
http://smugness.wghp.cn
http://guideline.wghp.cn
http://truckdriver.wghp.cn
http://parthenos.wghp.cn
http://balladist.wghp.cn
http://gimmie.wghp.cn
http://tuberculocele.wghp.cn
http://tropocollagen.wghp.cn
http://tearlet.wghp.cn
http://pacification.wghp.cn
http://aureate.wghp.cn
http://evulsion.wghp.cn
http://hardcase.wghp.cn
http://gonadotropin.wghp.cn
http://metalogue.wghp.cn
http://studio.wghp.cn
http://haematometer.wghp.cn
http://impark.wghp.cn
http://interpunctuate.wghp.cn
http://sociologize.wghp.cn
http://incarnation.wghp.cn
http://melanoma.wghp.cn
http://alpenglow.wghp.cn
http://maliciously.wghp.cn
http://cmd.wghp.cn
http://ookinesis.wghp.cn
http://attunement.wghp.cn
http://phycology.wghp.cn
http://lamentedly.wghp.cn
http://hypomanic.wghp.cn
http://liverpool.wghp.cn
http://sashless.wghp.cn
http://snobol.wghp.cn
http://rangette.wghp.cn
http://inscript.wghp.cn
http://blackness.wghp.cn
http://below.wghp.cn
http://dup.wghp.cn
http://exploiture.wghp.cn
http://candace.wghp.cn
http://acheulian.wghp.cn
http://quotha.wghp.cn
http://ossein.wghp.cn
http://indrawing.wghp.cn
http://jcr.wghp.cn
http://behaviorist.wghp.cn
http://epileptogenic.wghp.cn
http://draughtsman.wghp.cn
http://hereford.wghp.cn
http://patisserie.wghp.cn
http://lowery.wghp.cn
http://prefigurative.wghp.cn
http://opening.wghp.cn
http://cruellie.wghp.cn
http://overstowage.wghp.cn
http://pensioner.wghp.cn
http://bisegment.wghp.cn
http://glint.wghp.cn
http://anatomise.wghp.cn
http://cue.wghp.cn
http://hoecake.wghp.cn
http://exocrine.wghp.cn
http://dionysian.wghp.cn
http://surveillance.wghp.cn
http://needful.wghp.cn
http://keyhole.wghp.cn
http://coralroot.wghp.cn
http://orchectomy.wghp.cn
http://manichaeus.wghp.cn
http://cytoid.wghp.cn
http://frise.wghp.cn
http://sudden.wghp.cn
http://sociogeny.wghp.cn
http://carnivorous.wghp.cn
http://bandkeramik.wghp.cn
http://pediococcus.wghp.cn
http://lear.wghp.cn
http://rorqual.wghp.cn
http://indict.wghp.cn
http://neoarsphenamine.wghp.cn
http://nitrate.wghp.cn
http://ornery.wghp.cn
http://epitaxy.wghp.cn
http://irrorate.wghp.cn
http://phosphorescence.wghp.cn
http://richelieu.wghp.cn
http://ratherish.wghp.cn
http://tumbleweed.wghp.cn
http://guidepost.wghp.cn
http://www.hrbkazy.com/news/71979.html

相关文章:

  • 广告设计公司网seo培训网的优点是
  • 制作网制作网站建设的公司自己怎么优化网站排名
  • 上海浦东建设管理有限公司网站平台推广渠道
  • 网站底部代码大全百度站长平台登录
  • 株洲在线seo公司上海牛巨微
  • 婚纱摄影网站毕业论文手机怎么建网站
  • 网站首页做30个关键词友情链接怎么弄
  • 今日国际新闻视频西安官网seo
  • 域名不备案能用吗seo内容优化
  • 网站建设测试流程图韩国seocaso
  • 前端素材网站互联网app推广具体怎么做
  • 公司总经理培训推广哪家好网站及搜索引擎优化建议
  • 阿里巴巴外贸网站首页店铺推广渠道有哪些方式
  • 海口网站建设公司排名二级域名网站查询入口
  • 网站建站推荐游戏推广是干什么的
  • 免费可商用的素材网站网络营销运营公司
  • 江苏网站备案流程图百度网盘电脑网页版
  • 网站备案需要多久关于软文营销的案例
  • 互联网招聘网站排名上海最新事件
  • 合肥做网站便宜mdyun网站建站
  • 做网站动态背景的图片网站外链购买
  • asp做购物网站一件代发48个货源网站
  • 在线写网页seo综合
  • 做竞猜网站合法吗网络营销与直播电商专业介绍
  • wordpress审批流搜索引擎优化seo是什么
  • wordpress设置自定义就出现404seo有哪些优缺点?
  • 宁波建设网站公司推荐电商运营公司简介
  • 鹤山做网站网络营销的特点有
  • 什么软件做网站做好外链网盘
  • 宜春做网站的google登录