Wand处理图片(ImageMagick)

字符识别OCR把图片上的文字自动识别出来,转换成我们能处理的字符串。这里使用Tesseract这个软件包来做OCRTesseract最初由惠普开发,后来谷歌接受过来继续支持。Tesseract支持100多种书面语言,并且可以被训练继续扩充。Tesseract没有图形化界面,用命令行执行,作为内核被其他有图形化界面的程序调用。我们先来安装Tesseract,然后用命令行运行Tesseract识别图片上的文字。

Mac上可以用homebrew安装Tesseracthomebrew是一个安装工具,帮助我们安装应用到Mac上。homebrew不是Mac自带的,所以自己需要先被安装。搜索引擎上搜install homebrew,找到homebrew的主页brew.sh,主页上赫然挂着安装homebrew的办法,把:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"贴到terminal终端窗口上,按照提示输入admin的密码后会自动下载安装homebrew

我初次在Mac上安装工具Homebrew时非常顺利,万万没想到在另一台电脑上录制安装Homebrew的视频时上掉链子。安装开始不久就弹出窗口要求安装xcode:

毫无准备的我才知道原来安装homebrew是要用到xcode-select,既然xcode-select有xcode那要求安装xcode想必是合理要求,另外之前那个电脑上好像很久以前有装过xcode……赶紧答应好赶快中断这个意外,所以就点击了'install'。几分钟后被打脸,赫然弹出窗口:

竟然直接安装不了,气愤!安装不了你提供这个选项干什么?

只好termianl+空格调出搜索窗口,敲入app store调出应用商店,然后输入xcode下载(弹出第一个窗口时选择'get xcode'也可以调出应用商店下载xcode),本以为乖乖听话安装xcode后可以继续,却发现安装过程仍然会被这个错误“

xcode-select: note: install requested for command line developer tools

Failed during: /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools

”拦截终端。

实际上第一个弹出窗口明明白白写着它需要command line developer tools,可惜我当时根本对command line developer tools毫无概念,只是依照惯例用自己的排错三板斧:搜搜搜,把错误信息拷贝到搜索引擎上,找看得顺(kao)眼(pu)的搜索结果看别人如何应对,然后乱打乱撞,逮到一个试一个,我把看到的几个办法列出来,希望要是你也遇到同样问题,能有一款适合你。

首先有人老老实实按照指示安装了xcode,然后就顺利滴解决了这个错误

没有这个运气的往下看:

第一个尝试:

在terminal窗口上敲入命令xcode-select --install,我的机器一运行这条命令就弹出第一张图的窗口,所以我不能理解为什么有人这样弄一下就好了。但确实安装过程是因为xcode-select装不上而终止的。

第二个尝试:

先是安装Xcode,确保Xcode安装在/Applications下,而不是/Users/用户名/Applications下;terminal终端上敲入命令xcode-select -p得到Xcode-select的安装路径,一般是/Applications/Xcode-app/Contents/Developer;最后使得Xcode-app指向这个路径:sudo xcode-select -s /Applications/Xcode-app/Contents/Developer

有人用这种办法解决掉了安装过程中的拦路虎,可惜我没这个运气

第三个尝试:

第一张图上说缺少Command Line Tools来安装Xcode-select,所以直截了当地去苹果官方开发者网站:https://developer.apple.com/download/more/ 下载这个工具。这个网站需要开发者账号和密码,没有的话注册一个就好。打开网页就可以看到几个Command Line Tools (macOS x.x.x) for XCode N文件,点击桌面左上角的苹果标志,弹出的菜单上选择About This Mac,可以查看到应该选择MacOS X.X.X,下载完后双击安装。

Command Line Tools安装完毕后把Homebrew主页上的/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"拷贝到terminal终端窗口上安装Homebrew,在我的机器上没再出现什么幺蛾子成功安装!

不过,成功安装完Homebrew和Tesseract后,这台电脑马上就可以用tesseract识别图片上的文字了,而不像另一台电脑需要特别设置下环境变量TESSDATA_PREFIX。

总之见招拆招且行且珍惜吧

即将推出的Python ABC教程对PythonABC视频内容进行了梳理,修正了发现的错误、对代码做了些许优化、替换掉视频中的英文注释、替换掉国内不能访问的资源、添加windows上的设置和运行……敬请关注,谢谢