标签: python-mss

有没有办法使用 mss 截取当前非活动桌面的屏幕截图?

我试图在使用 mss 和 opencv 播放网站时记录屏幕,但我不希望程序使用当前屏幕。我想把它们放在第二个桌面上播放,比如下图中的桌面 2 macos 有 4 个桌面设置

所以我可以在桌面 1 中工作而不会受到任何干扰。

python python-mss

7
推荐指数
1
解决办法
409
查看次数

Pytesseract,尝试检测屏幕上的文本

我将 MSS 与 pytesseract 结合使用,尝试在屏幕上读取以确定正在监视的区域中的字符串。我的代码如下:

import Image
import pytesseract
import cv2
import os
import mss
import numpy as np

with mss.mss() as sct:
    mon = {'top': 0, 'left': 0, 'width': 150, 'height': 150}

    im = sct.grab(mon)
    im = np.asarray(im)
    im_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
    #im_gray = plt.imshow(im_gray, interpolation='nearest')

    cv2.imwrite("test.png", im_gray)
    #cur_dir = os.getcwd()
    text = pytesseract.image_to_string(Image.open(im_gray))
    print(text)

    cv2.imshow("Image", im)
    cv2.imshow("Output", im_gray)
    cv2.waitKey(0)
Run Code Online (Sandbox Code Playgroud)

我返回以下错误: AttributeError: 'numpy.ndarray' object has no attribute 'read'

我还尝试使用 pyplot 将其转换回图像,如代码示例中的注释行所示。然而,这会打印回错误: TypeError: img is not a numpy array, isn't …

python numpy pytesser python-mss

3
推荐指数
1
解决办法
2万
查看次数

无需写入磁盘即可截取屏幕截图

我想要一个python脚本,它可以在不立即将其直接保存到磁盘的情况下截取屏幕截图。基本上是否有一个带有函数的模块,该函数返回原始字节,然后我可以自己手动将其写入文件?

import some_screenshot_module
raw_data = some_screenshot_module.return_raw_screenshot_bytes()
f = open('screenshot.png','wb')
f.write(raw_data)
f.close()
Run Code Online (Sandbox Code Playgroud)

我已经检查了 mss、pyscreenshot 和 PIL,但我找不到我需要的东西。我找到了一个看起来像我要找的函数,叫做 frombytes。但是,在从 frombytes 函数检索字节并将其保存到文件中后,我无法将其视为 .BMP、.PNG、.JPG。是否有一个函数可以返回我可以自己保存到文件中的原始字节,或者可能是一个具有类似功能的模块?

python byte screenshot python-mss

2
推荐指数
1
解决办法
2894
查看次数

标签 统计

python ×3

python-mss ×3

byte ×1

numpy ×1

pytesser ×1

screenshot ×1