Python实现定时自动截屏与摄像头截图功能

Chloe
Chloe
发布时间:2026-10-14| 6人浏览过
原创

本文介绍两种Python实现自动截图的方法。首先利用PIL库的ImageGrab模块结合time模块,实现指定间隔自动截取屏幕并保存为PNG文件,包含自动创建目录的逻辑。其次展示使用OpenCV和threading模块,通过定时器实现摄像头画面每隔一秒自动截图保存,适合本地部署与AI数据采集场景。

Python定时截屏实现概述

写在前面

由于目前尚未确定具体的Python项目以提升技能,因此决定通过编写小型实用工具来加深对常用库及方法的理解。

方案分析

1、屏幕截图功能

实现截屏主要依赖pillow模块,核心代码仅需两行,具体见后续部分。

2、定时任务控制

为实现定时执行,需引入time模块处理时间逻辑。

3、文件保存机制

由于需要保存多张图片,需指定存储目录。此处将图片存放于根目录下的png文件夹中,并对目录是否存在进行检查处理。

基于PIL的屏幕自动截图方案

完整代码实现


# python3 author jin xiang
import time
from PIL import ImageGrab
import os

#这里是为了如果找不到png这个目录的情况自己建一个png目录
absPath = os.path.abspath('.')
path = [x for x in os.listdir('.') if os.path.isdir(x)]
# print(path)
if 'png' in path:
  #print('yes')
  pass
else:
 #print('no')
  #创建目录
  pngPath = os.path.join(absPath,'png')
  os.mkdir(pngPath)

#截屏
def Screenshot():
 nowtime = time.strftime('%Y_%m_%d_%H_%M_%S',time.localtime(time.time()))
 print(nowtime)
 # 截屏语句很简单的
  im = ImageGrab.grab()
  # 保存(图个有png路径或者别的路径需要在这个路径下有这个目录,不然报错,所以我前面是做了规避,没路径我就自己建一个)
  im.save(r'png\%s.png' %(nowtime))
while True:  
 print("截图!")
  Screenshot()

  print("暂停")
  print("\n")
  time.sleep(10) #定时10s看一下

运行效果

图片已成功保存至指定目录。

补充知识:基于Python OpenCV的定时器摄像头自动截图程序

以下直接展示核心代码实现。

基于OpenCV的摄像头自动截图方案


import threading
import cv2
global timer
import sys

def shot_img():
  global num
  success, frame = cameraCapture.read()
  path = "H://pythonr"
  cv2.imwrite( path +'a[num]' + '.jpg', frame)
  print(num)
  num += 1
  if num==10:
    cameraCapture.release()
    cv2.destroyAllWindows()
    sys.exit()
  timer = threading.Timer(1, shot_img)
  timer.start()

if __name__ == '__main__':
  num=0
  cameraCapture = cv2.VideoCapture(0)
  timer = threading.Timer(1,shot_img)
  timer.start()

以上关于Python定时截屏与摄像头截图的实现即为全部内容,供读者参考,欢迎支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。