使用pyscreenshot截屏非常慢

问题描述

我试图使用鼠标单击和拖动来拍摄特定区域的屏幕快照,但是我的代码运行非常缓慢,并且在大多数情况下,它没有检测到鼠标单击。在截取屏幕截图之后,我使用了Tesseract OCR来检测图像中的文本,并且检测文本的能力很差。如何使此代码更快?有没有办法提高文本检测的准确性?

这是我的代码

    import pyscreenshot
    from pynput.mouse import Listener,Button
    import PyTesseract
    import cv2
    import time

    x0=1
    y0=1


    def on_click(x1,y1,button,pressed):
        time.sleep(2)
        global x0,y0

        if button == Button.left and pressed:
            x0,y0 = x1,y1

        if button == Button.left and not pressed:
            try:
                im = pyscreenshot.grab(bBox=(x0,y0,x1,y1))
                im.save("hello.jpg")
                print('Screenshot was taken.')
                img_cv = cv2.imread(r'hello.jpg')
                img_rgb = cv2.cvtColor(img_cv,cv2.COLOR_BGR2RGB)
                print(PyTesseract.image_to_string(img_rgb))
                return False
            except:
                print("Didn't work")

        return True

    # Collect events until released
    with Listener(
            on_click=on_click) as listener:
        try:
            listener.join()
        except:
            print("Listener is not working")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)