Python学习之使用笔记本摄像头截屏

重点:

需要先安装cv2库

运行后

按q键截屏 或 按右上角关闭按键 退出程序

python 复制代码
import cv2
import os

cur_path = os.getcwd()+'/photo.jpg'

window_name="Camera"

def capture_photo():
    # 初始化摄像头
    cap = cv2.VideoCapture(0)  # 0通常代表第一个摄像头
 
    if not cap.isOpened():
        print("无法打开摄像头")
        exit()
 
    while True:
        # 持续读取摄像头图像
        ret, frame = cap.read()
    
        if ret:
            # 显示图片
            cv2.imshow(window_name, frame)
            k=cv2.waitKey(1)  # 等待按键
            if cv2.waitKey(1) == ord('q'):#检测q键被按下
                cv2.imwrite(cur_path, frame)  # 保存图片
                print("照片已保存")
                break
            #检测右上角关闭按键被按下
            if cv2.getWindowProperty(window_name, cv2.WND_PROP_VISIBLE) < 1:
                break
        else:
            print("无法从摄像头读取数据")
    # 释放资源
    cap.release()
    cv2.destroyAllWindows()

if __name__ == "__main__":
    capture_photo()

运行结果:

相关推荐
fbincon7 小时前
Claude Code 自定义状态栏工具:安装、配置与 Subagent 状态展示
python·typescript·claude·claude-code·statusline
yunfengzhineng7 小时前
天津立体库货架配套厂家
大数据·运维·人工智能·python
星恒随风7 小时前
Linux线程概念详解:从分页存储、页表、MMU与TLB,深入理解线程和进程的区别与联系
linux·运维·笔记·学习·状态模式
qq_284274057 小时前
数控机床编程基础与坐标系:编程六步流程、程序号/程序段/程序字格式,与右手定则下车床铣床XYZ轴判定(含考点)
笔记·学习·自动化·制造
德林恩宝7 小时前
On-Policy Distillation(OPD)学习文档
人工智能·学习·机器学习·大模型·llm·大模型微调
xxwl5858 小时前
区域赛分类题解
c++·笔记·学习·算法
m0_674571978 小时前
力扣 hot 100 python
python·算法·leetcode
小白快快跑哦8 小时前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
Want5958 小时前
Python炫酷烟花①
开发语言·python
青少儿编程课堂8 小时前
蓝桥杯+全国青少年信息素养大赛+电子学会PythonC/C++考级:最长公共子序列LCS解析
c++·python·算法·bfs·信息学竞赛