这是我在这里的第一个问题,如果我做了什么坏事,请告诉我。
我正在开发一个‘t,python3.8.5 x64,在windows 10上,我的笔记本电脑没有GPU。
因此,我的程序最终将一个图像(作为字节数组)传递给EasyOCR的readtext()方法,在我的编辑器上,我没有问题,即使没有GPU,它也工作得很好。当我将它导出到PyInstaller时,结果是我的内存被程序中不断增加的进程所消耗。
这是我想要做的一个简化版本。它获取屏幕坐标,然后获取选定区域的屏幕截图并将其转换为字节数组,然后将其传递到OCR库以获取我们首先选择的区域中的文本。
import pyscreenshot as ImageGrab
import easyocr, io
def image_to_byte_array(image) -> bytearray:
image_byte_array = io.BytesIO()
image.save(image_byte_array, format=image.format)
image_byte_array = image_byte_array.getvalue()
return image_byte_array
bbox_size = [498, 448, 771, 497]
image = ImageGrab.grab(bbox=bbox_size)
reader = easyocr.Reader(lang_list=["en"])
text = reader.readtext(image_to_byte_array(image), detail=0)
print(text)我已经测试了更改python版本,添加multiprocessing.freze_support,并进行了调试,直到我到text = reader.readtext(image_to_byte_array(image), detail=0)为止,这是程序“停止”的时候,但我一直打开更多的进程,直到我最终得到这条错误消息。

在我尝试创建可执行文件之前,这个程序的完整版本工作得很好。这是我的PyInstaller命令:pyinstaller.exe --onedir --icon="blue-white.ico" --name="MyProgram_TEST" app.py。
发布于 2021-08-20 18:18:39
固定
import pyscreenshot as ImageGrab应该是
from PIL import ImageGrabhttps://stackoverflow.com/questions/68835814
复制相似问题