[Python 3] Chụp ảnh Screenshot màn hình Desktop với OpenCV


Đoạn source code dưới đây được mình viết bằng Python 3, để xử lý việc chụp ảnh màn hình Desktop sử dụng thư viện đồ họa OpenCV. Đoạn code hiện chạy tốt trên môi trường Ubuntu Desktop 16.04.

Cài đặt Python Module

Việc đầu tiên là các cài đặt các Python Module cần thiết, sử dụng lệnh pip3 để cài đặt:

pip3 install imutils
pip3 install pyautogui
pip3 install Xlib
pip3 install opencv-python

Trên Ubuntu cài thêm thư viện sau:

sudo apt-get install scrot

Chụp ảnh Screenshot màn hình Desktop

Đoạn source xử lý chụp ảnh screenshot full màn hình như sau:

import imutils
import pyautogui
import cv2

# Another Type
pyautogui.screenshot("screenshot.png")

# we can then load our screenshot from disk in OpenCV format
image = cv2.imread("screenshot.png")
cv2.imshow("vinasupport.com", imutils.resize(image, width=600))
cv2.waitKey(0)

Ảnh  chụp màn hình sẽ được lưu vào thư mục hiện tại với tên là screenshot.png

Nếu chúng ta chỉ muốn chụp ảnh 1 phần của màn hình thôi, thì chỉ cần chỉ ra vị trí cần screenshot:

pyautogui.screenshot("screenshot.png", region=(0, 0, 300, 400))

Với các vị trí lần lượt là top, left, width và height.

Đây chỉ là đoạn code demo sử dụng thư viện pyautogui và opencv. Để tùy biến cho project của bạn xin vui lòng tham khải tài liệu của thư viện pyautogui ở đây.

Nguồn: vinasupport.com

 

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web