最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

環(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/

具體實(shí)現(xiàn)

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

代碼

import pyautogui
import cv2
import numpy as np

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

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

注釋

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

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

代碼

《1》

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

# 創(chuàng)建字典保存窗口的句柄與名稱映射關(guān)系
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 獲得代表整個(gè)屏幕的一個(gè)窗口(桌面窗口)句柄
hd = win32gui.GetDesktopWindow()

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

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

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

結(jié)果

3802250 mouseControle – OpenCVDemo.py
3278598 此電腦

《2》

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

代碼

import sys
import win32gui
from PyQt5.QtWidgets import QApplication
# 這個(gè)是全屏窗口
hwnd = win32gui.FindWindow(None, 'C:/Windows/system32/cmd.exe')
# 這個(gè)是指定程序
# 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》

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

代碼

import win32gui
import cv2
import numpy as np
from PIL import ImageGrab  # 操作圖像
hwnd = win32gui.FindWindow(None, 'QQMail - Inbox - 360極速瀏覽器X 21.0')#第二個(gè)參數(shù)需要用二、a、那個(gè)程序運(yùn)行來獲得
while True:
    x_start, y_start, x_end, y_end = win32gui.GetWindowRect(hwnd)
    # 坐標(biāo)信息
    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)

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

相關(guān)文章

  • Python基于Pytorch的特征圖提取實(shí)例

    Python基于Pytorch的特征圖提取實(shí)例

    在利用深度學(xué)習(xí)進(jìn)行分類時(shí),有時(shí)需要對(duì)中間的特征圖進(jìn)行提取操作,下面這篇文章主要給大家介紹了關(guān)于Python基于Pytorch的特征圖提取的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 打開電腦上的QQ的python代碼

    打開電腦上的QQ的python代碼

    使用python打開電腦上的QQ,方法很簡(jiǎn)單,調(diào)用os模塊,然后os.startfile即可
    2013-02-02
  • Python爬蟲實(shí)現(xiàn)selenium處理iframe作用域問題

    Python爬蟲實(shí)現(xiàn)selenium處理iframe作用域問題

    這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)selenium處理iframe作用域問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python庫(kù)安裝加速之使用清華大學(xué)鏡像源的詳細(xì)指南

    Python庫(kù)安裝加速之使用清華大學(xué)鏡像源的詳細(xì)指南

    這篇文章主要介紹了如何通過清華大學(xué)鏡像源加速Python庫(kù)安裝,提供臨時(shí)指定和永久配置方法,并列舉阿里云、中科大、豆瓣等其他鏡像源,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-06-06
  • 詳解Python文本操作相關(guān)模塊

    詳解Python文本操作相關(guān)模塊

    這篇文章主要介紹了詳解Python文本操作相關(guān)模塊的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Python的四種單例模式實(shí)現(xiàn)方式

    Python的四種單例模式實(shí)現(xiàn)方式

    單例模式是一種設(shè)計(jì)模式,用于確保一個(gè)類只有一個(gè)實(shí)例,并提供全局訪問點(diǎn)以獲取該實(shí)例,這篇文章主要介紹了Python的四種單例模式實(shí)現(xiàn)方式,需要的朋友可以參考下
    2024-04-04
  • Python如何獲取對(duì)象大小和文件大小

    Python如何獲取對(duì)象大小和文件大小

    這篇文章主要介紹了Python如何獲取對(duì)象大小和文件大小問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 如何編寫python的daemon程序

    如何編寫python的daemon程序

    這篇文章主要介紹了如何編寫python的daemon程序,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • python 定義給定初值或長(zhǎng)度的list方法

    python 定義給定初值或長(zhǎng)度的list方法

    今天小編就為大家分享一篇python 定義給定初值或長(zhǎng)度的list方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python Opencv實(shí)戰(zhàn)之文字檢測(cè)OCR

    Python Opencv實(shí)戰(zhàn)之文字檢測(cè)OCR

    這篇文章主要為大家詳細(xì)介紹了如何利用Python Opencv實(shí)現(xiàn)文字檢測(cè)OCR功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-08-08

最新評(píng)論

东港市| 三门县| 额敏县| 遂川县| 靖安县| 三门县| 安徽省| 安化县| 宣化县| 乡城县| 尚志市| 西平县| 泸州市| 武冈市| 龙胜| 盘山县| 金寨县| 淮北市| 樟树市| 绥阳县| 广德县| 高平市| 瑞昌市| 宜章县| 吉水县| 闵行区| 普兰店市| 且末县| 普安县| 安吉县| 林口县| 广宁县| 太保市| 泾源县| 阜南县| 固阳县| 安宁市| 左云县| 镇坪县| 永春县| 黄冈市|