使用opencv-python如何打开USB或者笔记本前置摄像头


Posted in Python onJune 21, 2022

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如何打开USB或者笔记本前置摄像头

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() #释放摄像头

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。


Tags in this post...

Python 相关文章推荐
python中requests库session对象的妙用详解
Oct 30 Python
Python 和 JS 有哪些相同之处
Nov 23 Python
tensorflow中next_batch的具体使用
Feb 02 Python
python通过微信发送邮件实现电脑关机
Jun 20 Python
使用Python计算玩彩票赢钱概率
Jun 26 Python
超实用的 30 段 Python 案例
Oct 10 Python
Windows上安装tensorflow  详细教程(图文详解)
Feb 04 Python
python中os包的用法
Jun 01 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
Aug 28 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
Dec 01 Python
python温度转换华氏温度实现代码
Dec 06 Python
pytorch 中nn.Dropout的使用说明
May 20 Python
Python+DeOldify实现老照片上色功能
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
Jun 21 #Python
virtualenv隔离Python环境的问题解析
Jun 21 #Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 #Python
使用pd.merge表连接出现多余行的问题解决
Jun 16 #Python
pd.DataFrame中的几种索引变换的实现
Python实战实现爬取天气数据并完成可视化分析详解
You might like
php使用websocket示例详解
2014/03/12 PHP
PHP清除数组中所有字符串两端空格的方法
2014/10/20 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
Bootstrap滚动监听组件scrollspy.js使用方法详解
2017/07/20 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
vue 添加vux的代码讲解
2017/11/30 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python 正则表达式 概述及常用字符
2009/05/04 Python
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
Python 元组操作总结
2019/09/18 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
金融事务专业求职信
2014/04/25 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
人力资源求职信
2014/05/25 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
治安消防安全责任书
2014/07/23 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
对外汉语专业大学生职业生涯规划书
2014/10/11 职场文书
好好学习保证书
2015/02/26 职场文书
详解NodeJS模块化
2021/06/15 NodeJs