Đ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