欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python實現(xiàn)屏幕截圖的兩種方法

 更新時間:2023年12月04日 09:37:16   作者:SUNxRUN  
Python作為一種高效的編程語言,可以通過一些庫來實現(xiàn)對屏幕的截圖操作,本文主要介紹了使用Python實現(xiàn)屏幕截圖的兩種方法,具有一定的 參考價值,感興趣的可以了解一下

環(huán)境配置

下載pyautogui

pip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple/

下載OpenCV

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/

下載PyQT5

pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/

下載pypiwin32

pip install pypiwin32 -i https://pypi.tuna.tsinghua.edu.cn/simple/

具體實現(xiàn)

【1】使用pyautogui方法實現(xiàn)截屏;

代碼

import pyautogui
import cv2
import numpy as np

# 下面的數(shù)字分別代表:左上角橫向坐標,左上角縱向坐標,截取圖像的寬度,截取圖像的高度;
img = pyautogui.screenshot(region=[0, 0, 1902, 1080])
# 將獲取的圖像轉(zhuǎn)換成二維矩陣形式,然后再將RGB轉(zhuǎn)成BGR
# 因為`imshow`默認通道順序是`BGR`,而`pyautogui`默認是`RGB`所以要轉(zhuǎn)換一下
img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)

cv2.imshow("截屏", img)
cv2.waitKey(0)

注釋

  • 此方法不能指定獲取指定程序的窗口,因此窗口也不能被遮擋;

【2】使用win32gui方法實現(xiàn)截屏;

代碼

《1》

  • 獲取目標程序窗口的句柄和標題;
  • 打印所有窗口的hwndtitle
  • 根據(jù)窗口句柄就可以進行指定截圖了;
import win32gui

# 創(chuàng)建字典保存窗口的句柄與名稱映射關系
hwnd_title = dict()


def get_all_hwnd(hwnd, mouse):
    if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):
        hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})


win32gui.EnumWindows(get_all_hwnd, 0)

for h, t in hwnd_title.items():
    if t != "":
        print(h, t)
import win32gui

# GetDesktopWindow 獲得代表整個屏幕的一個窗口(桌面窗口)句柄
hd = win32gui.GetDesktopWindow()

# 獲取所有子窗口
hwndChildList = []

win32gui.EnumChildWindows(hd, lambda hwnd, param: param.append(hwnd), hwndChildList)

for hwnd in hwndChildList:
    print("句柄:", hwnd, "標題:", win32gui.GetWindowText(hwnd))
    # f.write("句柄:" + str(hwnd) + " 標題:" + win32gui.GetWindowText(hwnd) + '\n')

結(jié)果

3802250 mouseControle – OpenCVDemo.py
3278598 此電腦

《2》

  • 使用PyQt5進行全屏的截取操作;
  • 如果想截取特定的窗口,只需要將C:/Windows/system32/cmd.exe換成上一個程序中打印的title,并且保證那個窗口沒有被你最小化即可;

代碼

import sys
import win32gui
from PyQt5.QtWidgets import QApplication
# 這個是全屏窗口
hwnd = win32gui.FindWindow(None, 'C:/Windows/system32/cmd.exe')
# 這個是指定程序
# hwnd = win32gui.FindWindow(None, win32gui.GetWindowText(3212524))
app = QApplication(sys.argv)
screen = QApplication.primaryScreen()
img = screen.grabWindow(hwnd).toImage()
img.save(r"C:\Users\SUNxRUN\Desktop\screenshot.jpg")
# 前置窗口 win32gui.SetForegroundWindow(hwnd)

《3》

  • 暫時廢棄;
  • 實時使用win32gui截屏用Mat格式顯示的核心程序;

代碼

import win32gui
import cv2
import numpy as np
from PIL import ImageGrab  # 操作圖像
hwnd = win32gui.FindWindow(None, 'QQMail - Inbox - 360極速瀏覽器X 21.0')#第二個參數(shù)需要用二、a、那個程序運行來獲得
while True:
    x_start, y_start, x_end, y_end = win32gui.GetWindowRect(hwnd)
    # 坐標信息
    box = (x_start, y_start, x_end, y_end)
    image = ImageGrab.grab(box)
    img=cv2.cvtColor(np.asarray(image),cv2.COLOR_RGB2BGR)
    cv2.imshow('Img',img)
    cv2.waitKey(1)

到此這篇關于使用Python實現(xiàn)屏幕截圖的兩種方法的文章就介紹到這了,更多相關Python 屏幕截圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • 初識Pytorch使用transforms的代碼

    初識Pytorch使用transforms的代碼

    tansforms功能類似于在計算機視覺流程里的圖像預處理部分的數(shù)據(jù)增強,接下來通過代碼介紹下Pytorch使用transforms的詳細過程,感興趣的朋友一起看看吧
    2021-12-12
  • pytest參數(shù)化:@pytest.mark.parametrize詳解

    pytest參數(shù)化:@pytest.mark.parametrize詳解

    pytest.mark.parametrize裝飾器能夠?qū)y試函數(shù)進行參數(shù)化處理,使得一個測試函數(shù)可以用多組數(shù)據(jù)執(zhí)行多次,這有助于檢查不同輸入下的期望輸出是否匹配,提高測試的效率和覆蓋率,裝飾器可以應用于函數(shù)、模塊或類,支持多個裝飾器組合使用,增強測試的靈活性和綜合性
    2024-10-10
  • python讀取圖像矩陣文件并轉(zhuǎn)換為向量實例

    python讀取圖像矩陣文件并轉(zhuǎn)換為向量實例

    這篇文章主要介紹了python讀取圖像矩陣文件并轉(zhuǎn)換為向量實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 使用python生成目錄樹

    使用python生成目錄樹

    這篇文章主要為大家詳細介紹了使用python生成目錄樹、文件的程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python可以實現(xiàn)棧的結(jié)構嗎

    Python可以實現(xiàn)棧的結(jié)構嗎

    在本篇文章里小編給各位整理的是關于Python實現(xiàn)棧的結(jié)構的條件的相關知識點,有需要的朋友們可以學習下。
    2020-05-05
  • python 根據(jù)時間來生成唯一的字符串方法

    python 根據(jù)時間來生成唯一的字符串方法

    今天小編就為大家分享一篇python 根據(jù)時間來生成唯一的字符串方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python3 xpath和requests應用詳解

    python3 xpath和requests應用詳解

    這篇文章主要介紹了python3 xpath和requests應用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 基于python實現(xiàn)雪花算法過程詳解

    基于python實現(xiàn)雪花算法過程詳解

    這篇文章主要介紹了基于python實現(xiàn)雪花算法過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python3 pandas.concat的用法說明

    Python3 pandas.concat的用法說明

    這篇文章主要介紹了Python3 pandas.concat的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 使用Python+Flask開發(fā)博客項目并實現(xiàn)內(nèi)網(wǎng)穿透

    使用Python+Flask開發(fā)博客項目并實現(xiàn)內(nèi)網(wǎng)穿透

    Flask是一個使用python編寫的輕量級Web框架,這篇文章我們將使用這個框架編寫一個屬于自己的博客網(wǎng)站!并教你如何通過使用內(nèi)網(wǎng)穿透工具處理項目,讓本地的項目可以在公網(wǎng)訪問,感興趣的可以了解一下
    2021-11-11

最新評論