尝试使用pytesseract从图像中读取文本。使用以下两个命令。 Image.open确实正确返回图像,但是下一个命令失败,找不到文件的Windows错误。
首先,我不明白,为什么它试图从磁盘读取图像,因为它已经被先前的语句读取并且图像im已经在内存中。 然后我在环境变量的路径中包含pytesseract.exe所在的目录,如某些人所建议的那样。仍然存在同样的问题。
我在Windows 10上使用anaconda分发的python 3.5。从Jupyter Notebook运行代码,而不是python命令行。
使用pip安装pytesseract,jupyter notebook中的相应import语句执行时没有任何错误。
感谢您解决此问题的任何帮助。
im = Image.open('test_image1.png')
text = pytesseract.image_to_string(im)
FileNotFoundError Traceback(最近一次调用 最后)in() 1 im = Image.open(' test_image1.png') ----> 2 text = pytesseract.image_to_string(im)
C:\ Anaconda3 \ ENVS \ keras35 \ lib中\站点包\ pytesseract \ pytesseract.py in image_to_string(image,lang,config,nice,boxes,output_type) 191返回run_and_get_output(图像,' txt',lang,config,nice,True) 192 - > 193返回run_and_get_output(图片,' txt',lang,config,nice) 194 195
C:\ Anaconda3 \ ENVS \ keras35 \ lib中\站点包\ pytesseract \ pytesseract.py 在run_and_get_output中(图片,扩展名,lang,config,不错, return_bytes) 138} 139 - > 140 run_tesseract(** kwargs) 141 filename = kwargs [' output_filename_base'] + os.extsep +扩展名 142 with open(filename,' rb')作为output_file:
C:\ Anaconda3 \ ENVS \ keras35 \ lib中\站点包\ pytesseract \ pytesseract.py 在run_tesseract中(input_filename,output_filename_base,extension, 郎,配置,很好) 109 command.append(扩展名) 110 - > 111 proc = subprocess.Popen(command,stderr = subprocess.PIPE) 112 status_code,error_string = proc.wait(),proc.stderr.read() 113 proc.stderr.close()
init 中的C:\ Anaconda3 \ envs \ keras35 \ lib \ subprocess.py(self,args, bufsize,executable,stdin,stdout,stderr,preexec_fn,close_fds, shell,cwd,env,universal_newlines,startupinfo,creationflags, restore_signals,start_new_session,pass_fds) 674 c2pread,c2pwrite, 675 errread,errwrite, - > 676 restore_signals,start_new_session) 677除外: 678#如果孩子开始失败,则进行清理。
_execute_child中的C:\ Anaconda3 \ envs \ keras35 \ lib \ subprocess.py(self, args,executable,preexec_fn,close_fds,pass_fds,cwd,env, startupinfo,creationflags,shell,p2cread,p2cwrite,c2pread, c2pwrite,errread,errwrite,unused_restore_signals, unused_start_new_session) 955 env, 956 cwd, - > 957 startupinfo) 958终于: 959#Child正在推出。关闭父管道的副本
FileNotFoundError:[WinError 2]系统找不到该文件 指定的