我正在用python开发一个桌面应用程序,它允许用户对屏幕进行截图并读取图像中的文本,我使用EasyOCR来实现这一功能,但问题是每当我将图像传递给EasyOCR时,我的idle/terminal会显示一些下载进度,这会花费很长时间,并导致我的程序冻结。
我得到的下载进度如下所示:
下面是我编写的与EasyOCR相关的代码:
def processImg():
global chosenImgFile
isImgChosen = chosenImgFile.find(".png") or chosenImgFile.find(".jpeg")
if isImgChosen != -1:
chosenImgFile = cv2.imread(chosenImgFile)
imageReader = ocr.Reader(["en"], gpu=False, verbose=False)
readTxt = imageReader.readtext(chosenImgFile)
值得一提的是,我没有GPU,当我下载pytorch我选择了稳定的版本与CPU支持只。
此外,我知道当verbose属性设置为False时,下载进度会消失,但我的程序仍然需要一分钟多的时间来读取图像中的文本并显示它。
如何使处理图像和返回文本最多需要10秒的时间更快?
谢谢。
2条答案
按热度按时间hlswsv351#
你不可能使它更快。OCRing是一个计算量很大的过程。只有更好的系统才能提高速度。
guz6ccqo2#
您可以通过不在每次想要执行推理时加载模型来使其更快。
您还可以增加batch_size以提高性能。