首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EasyOCR + PyInstaller创建无限进程

EasyOCR + PyInstaller创建无限进程
EN

Stack Overflow用户
提问于 2021-08-18 16:06:59
回答 1查看 381关注 0票数 0

这是我在这里的第一个问题,如果我做了什么坏事,请告诉我。

我正在开发一个‘t,python3.8.5 x64,在windows 10上,我的笔记本电脑没有GPU。

因此,我的程序最终将一个图像(作为字节数组)传递给EasyOCR的readtext()方法,在我的编辑器上,我没有问题,即使没有GPU,它也工作得很好。当我将它导出到PyInstaller时,结果是我的内存被程序中不断增加的进程所消耗。

这是我想要做的一个简化版本。它获取屏幕坐标,然后获取选定区域的屏幕截图并将其转换为字节数组,然后将其传递到OCR库以获取我们首先选择的区域中的文本。

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2021-08-20 18:18:39

固定

代码语言:javascript
复制
import pyscreenshot as ImageGrab

应该是

代码语言:javascript
复制
from PIL import ImageGrab
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68835814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档