我正在尝试将pdf文件转换为图像,然后使用pytesseract对文件进行ocr。我能够在linux本地路径中存在的文件上成功地做到这一点,但是没有使用hdfs路径。
from wand.image import Image as wi
>>> wi(filename = 'hdfs://boboda02.boobo.com:8020/bda/clamsops/raw/personal_brella_test/09_29_2015_090902.pdf',resolution = 300)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/sam/my_env_1/lib/python2.7/site-packages/Wand-0.4.2-py2.7.egg/wand/image.py", line 2534, in __init__
File "/home/sam/my_env_1/lib/python2.7/site-packages/Wand-0.4.2-py2.7.egg/wand/image.py", line 2601, in read
File "/home/sam/my_env_1/lib/python2.7/site-packages/Wand-0.4.2-py2.7.egg/wand/resource.py", line 222, in raise_exception
wand.exceptions.MissingDelegateError: no decode delegate for this image format `//boboDA02.boobo.COM' @ error/constitute.c/ReadImage/501
1条答案
按热度按时间btxsgosb1#
您需要为
hdfs
代表团。我不熟悉hadoop,但是本地复制文件的文档似乎很简单。
创建一个名为
delegates.xml
包含以下内容。。。请参阅参考资料文档,了解imagemagick如何加载委派文件,以及哪个选项适用于您的环境。你也可以问imagemagick的
identify
系统路径所在的实用程序。如果没有
delegates.xml
文件,然后将新创建的xml文件复制到该位置。否则,如果该文件存在,则应编辑该文件以包含<delegate
现有管道内的管线<delegatemap>
.如果您没有管理员权限,或者系统是通过包管理器管理的,请探索适用于您的应用程序的其他选项。就像
$HOME/.config/ImageMagick/
,或应用程序目录。参考上面链接的文档。您可以通过运行以下命令来验证hdfs的委托是否已正确Map。
然后用
convert
实用程序。wand现在应该了解hdfs协议了。