使用opencv-python如何打开USB或者笔记本前置摄像头
作者:BIT可达鸭 发布时间:2021-05-18 08:24:52
标签:opencv,python,USB,笔记本,摄像头
opencv-python打开USB或笔记本前置摄像头
代码
其中video_index是摄像头编号,一般前置摄像头为0,USB摄像头为1或2.
import cv2
def catch_video(name='my_video', video_index=0):
# cv2.namedWindow(name)
cap = cv2.VideoCapture(video_index) # 创建摄像头识别类
if not cap.isOpened():
# 如果没有检测到摄像头,报错
raise Exception('Check if the camera is on.')
while cap.isOpened():
catch, frame = cap.read() # 读取每一帧图片
cv2.imshow(name, frame) # 在window上显示图片
key = cv2.waitKey(10)
if key & 0xFF == ord('q'):
# 按q退出
break
if cv2.getWindowProperty(name, cv2.WND_PROP_AUTOSIZE) < 1:
# 点x退出
break
# 释放摄像头
cap.release()
cv2.destroyAllWindows()
if __name__ == "__main__":
catch_video()
效果
Opencv-python摄像头录制视屏,拍照
Opencv-python摄像头录制视屏并保存
import cv2 # 导入opencv包
video = cv2.VideoCapture(0) # 打开摄像头
fourcc = cv2.VideoWriter_fourcc(*'XVID') # 视频存储的格式
fps = video.get(cv2.CAP_PROP_FPS) # 帧率
# 视频的宽高
size = (int(video.get(cv2.CAP_PROP_FRAME_WIDTH)), int(video.get(cv2.CAP_PROP_FRAME_HEIGHT)))
out = cv2.VideoWriter('video.avi', fourcc, fps, size) # 视频存储
f=0
while out.isOpened():
ret, img = video.read() # 开始使用摄像头读数据,返回ret为true,img为读的图像
if ret is False: # ret为false则关闭
exit()
cv2.namedWindow('video', cv2.WINDOW_AUTOSIZE) # 创建一个名为video的窗口
cv2.imshow('video', img) # 将捕捉到的图像在video窗口显示
out.write(img) # 将捕捉到的图像存储
print(f ,' ' , 'fps: ',fps)
f+=1
# 按esc键退出程序
if cv2.waitKey(1) & 0xFF == 27:
video.release() # 关闭摄像头
break
拍照
#coding:utf-8
import cv2
cap = cv2.VideoCapture(0)#创建一个 VideoCapture 对象
flag = 1 #设置一个标志,用来输出视频信息
num = 1 #递增,用来保存文件名
while(cap.isOpened()):#循环读取每一帧
ret_flag, Vshow = cap.read() #返回两个参数,第一个是bool是否正常打开,第二个是照片数组,如果只设置一个则变成一个tumple包含bool和图片
cv2.imshow("Capture_Test",Vshow) #窗口显示,显示名为 Capture_Test
k = cv2.waitKey(1) & 0xFF #每帧数据延时 1ms,延时不能为 0,否则读取的结果会是静态帧
if k == ord('s'): #若检测到按键 ‘s',打印字符串
cv2.imwrite("/home/jie/图片/VOC/image/"+ str(num) + ".jpg", Vshow)
print(cap.get(3)); #得到长宽
print(cap.get(4));
print("success to save"+str(num)+".jpg")
print("-------------------------")
num += 1
elif k == ord('q'): #若检测到按键 ‘q',退出
break
cap.release() #释放摄像头
来源:https://blog.csdn.net/weixin_44936889/article/details/103830451
0
投稿
猜你喜欢
- 前言PHP5.3之后支持了类似Java的jar包,名为phar。用来将多个PHP文件打包为一个文件。首先需要修改php.ini配置将phar
- 如何最大限度地实现安全登录功能? 具体方法如下(这是一个程序,为便于说明,中间用虚线“------”将代
- 刚刚心血来潮,编了一个国际域名查询的功能页面,比较简单,没有做什么美化和修饰,主要利用了服务器端的XMLHTTP访问第三方服务器实现域名查询
- <div id="d1"></div> <script > fu
- 本文实例讲述了php查找指定目录下指定大小文件的方法。分享给大家供大家参考。具体实现方法如下:php查找文件大小的原理是遍历目录然后再利用f
- 这是官方对SubFolders的介绍:返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的 Folders 集合。object
- 本文实例讲述了PHP实现的AES加密、解密封装类与用法。分享给大家供大家参考,具体如下:<?php/** * Class AES *
- 如何显示存储在BLOB字段中的图像?showimges.asp' 在浏览器上单独显示图像 <%@ 
- 原理就是先声明常量,包括列数,行数,各列的属性,然后在程序的其它过程用这些常量来控制Cells。非常方便,便于修改和移植! 以下为窗体整体代
- 数据库安全性问题一直是围绕着数据库管理员的恶梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫不堪。围绕数据库的安全性问
- Django中每一个模型model都对应于数据库中的一张表,每个模型中的字段都对应于数据库表的列。方便的是,django可以自动生成这些cr
- 1.超链接<a href="https://www.aspxhome.com" title="asp之家
- PHP PDO 错误与错误处理PDO::ERRMODE_SILENT此为默认模式。 PDO 将只简单地设置错误码,可使用PDO::error
- <%@ Page Language="C#" AutoEventWireup="true" C
- 阅读:Chapter 3 * 的表格“Misquotations are the only quotations tha are never
- 调用python自带的GUI制作库一开始想用Tkinter制作GUI的,网上说是python自带的,结果输入:import tkinter后
- 遵循Web标准的思想,网页要表现出一种亲和力。那么,针对残障用户来说,其“阅读”器可不能读取图像上传递的信息的。所以我们会采用一种Using
- 本文实例讲述了PHP变量作用域(全局变量&局部变量)&global&static关键字用法。分享给大家供大家参考,具
- 在jQuery的官方文档中,提示用户这是一个低级的方法,应该用.data()方法来代替。$.data( element, key, valu
- [编者注:]提起数据库,第一个想到的公司,一般都会是Oracle(即甲骨文公司)。Oracle在数据库领域一直处于领先地位。Oracle关系