如何使用Pytesseract限制Python中的线程数



我正在使用Pytesseract运行Tesseract v5.0.1。当我在Windows台式电脑上运行它时,我的字符识别能力比在具有相同图像的Windows Surface Pro上运行它更差。在Surface Pro上,我处理的图像需要24秒,而在台式电脑上只需要4秒。我假设在我的台式电脑上处理时会使用更多的线程。我想限制台式电脑上的线程数量,看看这是否能提高字符识别能力。我已经尝试了以下代码,它似乎没有改变任何东西,因为它仍然在4秒内处理:

import os
os.environ["OMP_NUM_THREADS"]= '1'
os.environ["OMP_THREAD_LIMIT"] = '1'
os.environ["MKL_NUM_THREADS"] = '1'
os.environ["NUMEXPR_NUM_THREADS"] = '1'
os.environ["VECLIB_MAXIMUM_THREADS"] = '1'
os.environ["PAPERLESS_AVX2_AVAILABLE"]="false"
os.environ["OCR_THREADS"] = '1'

台式电脑采用AMD FX-8320八核处理器,具有4核和8个逻辑处理器。Surface Pro采用Intel Core m3-7Y30 CPU,具有2核和4个逻辑处理器。

我在代码的开头添加了这个,它对我很有用:

os.environ['OMP_THREAD_LIMIT'] = '1'

最新更新