我一直在使用python OCR代码从图像中提取文本,但出现一些错误。我认为错误与子流程库有关,但是它是在库中内置的。所以我无法弄清楚错误。谁能帮我解决这个错误。我的代码和错误如下。
OCR代码
import os
import tempfile
import subprocess
def ocr(path):
temp = tempfile.NamedTemporaryFile(delete=False)
process = subprocess.Popen(['tesseract', path, temp.name], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
process.communicate()
with open(temp.name + '.txt', 'r') as handle:
contents = handle.read()
os.remove(temp.name + '.txt')
os.remove(temp.name)
return contents
str = ocr("C:\\Users\\hp\\Desktop\\MS Thesis\\opencv-text-detection\\opencv-text-detection\\images\\sign.jpg")
print(str)
通过执行上述代码,我得到了以下错误
[7]:runfile('C:/ Users / hp / Desktop / MS Thesis / python text detection.py',wdir ='C:/ Users / hp / Desktop / MS Thesis')追溯(最近一次通话):
文件“”,第1行,在runfile('C:/ Users / hp / Desktop / MS Thesis / python text detection.py',wdir ='C:/ Users / hp / Desktop / MS Thesis']
文件“ C:\ Users \ hp \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py”,行704,在运行文件中execfile(文件名,命名空间)
文件“ C:\ Users \ hp \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py”,行108,在execfile中exec(compile(f.read(),文件名,'exec'),命名空间)
文件“ C:/ Users / hp / Desktop / MS Thesis / python text detection.py”,第26行,在str = ocr(“ C:\ Users \ hp \ Desktop \ MS Thesis \ opencv-text-detection \ opencv-text-detection \ images \ sign.jpg”]
文件“ C:/ Users / hp / Desktop / MS Thesis / python text detection.py”,第15行,在ocr中process = subprocess.Popen(['tesseract',path,temp.name],stdout = subprocess.PIPE,stderr = subprocess.STDOUT)
文件“ C:\ Users \ hp \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py”,第171行,在init中super(SubprocessPopen,self)。init(* args,** kwargs)
文件“ C:\ Users \ hp \ Anaconda3 \ lib \ subprocess.py”,行769,在[[init]]中restore_signals,start_new_session)文件“ C:\ Users \ hp \ Anaconda3 \ lib \ subprocess.py”,行1172,在_execute_child中startupinfo)
FileNotFoundError:[WinError 2]系统找不到指定的文件
我一直在窗口7上将Python 3.7.1与anaconda一起使用
我一直在使用python OCR代码从图像中提取文本,但出现一些错误。我认为错误与子流程库有关,但是它是在库中内置的。所以我不知道...