使用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抓取豆瓣图片并自动保存示例学习
Jan 10 Python
python实现的简单文本类游戏实例
Apr 28 Python
Windows下PyCharm安装图文教程
Aug 27 Python
Python如何使用argparse模块处理命令行参数
Dec 11 Python
使用Python进行防病毒免杀解析
Dec 13 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
Feb 27 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
Python实现简单猜数字游戏
Feb 03 Python
pytorch 一行代码查看网络参数总量的实现
May 12 Python
Python实现灰色关联分析与结果可视化的详细代码
Mar 25 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
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
php数值转换时间及时间转换数值用法示例
2017/05/18 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
两种方法解决javascript url post 特殊字符转义 + &amp; #
2016/04/13 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
JavaScript中的高级函数
2018/01/04 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
2020/10/28 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
用Python遍历C盘dll文件的方法
2015/05/06 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
Python语言异常处理测试过程解析
2020/01/08 Python
Python datetime模块使用方法小结
2020/06/18 Python
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
学生思想表现的评语
2014/01/30 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
党员示范岗材料
2014/12/19 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
预备党员半年考察意见
2015/06/01 职场文书
2016年“9.22”世界无车日活动小结
2016/04/05 职场文书
幼儿园教师辞职信
2019/06/21 职场文书