问题描述
我试图使用鼠标单击和拖动来拍摄特定区域的屏幕快照,但是我的代码运行非常缓慢,并且在大多数情况下,它没有检测到鼠标单击。在截取屏幕截图之后,我使用了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 (将#修改为@)