使用Python和OpenCV进行拍摄截图

使用Python和OpenCV进行拍摄截图

这篇博客将介绍如何使用OpenCV,Python和PyAutoGui库拍摄截图。

使用pyautogui,可以轻松地将屏幕截图直接捕捉到磁盘或内存,并且转换为OpenCV / Numpy格式。

屏幕截图是创建计算机视觉软件的重要第一步,可以在屏幕上自动控制GUI操作,包括自动移动鼠标,单击鼠标,然后注册键盘事件。后续将了解如何通过计算机视觉和PyAutoGui自动控制整个计算机。

1. 效果图

在这里插入图片描述

2. 原理

1)如何安装pyautogui库。此库负责实际捕获屏幕截图或直接存储到内存。

  • windows 安装

    py -m pip install pyautogui

  • macos安装

    python3 -m pip install pyautogui

2)如何使用Pyautogui和OpenCV在一起以获取屏幕截图。

3. 源码

# USAGE
# python take_screenshot.py

# 导入必要的包
import numpy as np
import pyautogui  # 进行屏幕截图
import imutils
import cv2

# 获取屏幕截图并存储在内存中
# 然后将PID/Pillow图像转换成 opencv可处理的numpy数组,并存储到磁盘
image = pyautogui.screenshot()
image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
cv2.imwrite("in_memory_to_disk.png", image)

# 屏幕截图并直接保存到磁盘
pyautogui.screenshot("straight_to_disk.png")

# 加载屏幕截图
image = cv2.imread("straight_to_disk.png")
cv2.imshow("Screenshot", imutils.resize(image, width=600))
cv2.waitKey(0)

参考

猜你喜欢

转载自blog.csdn.net/qq_40985985/article/details/115304080
今日推荐