在 App Store 众多的扫描类应用中我最为钟爱来自德国的 Scanbot。但假如你叫我推荐一款有强大 OCR 功能的扫描应用的话,我绝不会对 Prizmo 这款具有「扫描」功能的「OCR」应用吝啬自己的夸赞。
Prizmo 可以说是目前整个 App Store 里将 OCR 功能做的最好的应用,没有之一。至少在我眼里无人能出其右。作为扫描类应用中的一员,Prizmo 的扫描效果其实并不能算是最佳,充其量只能说是勉强够用。但你有刀枪剑戟,我有斧钺勾叉,大家各有所长。Prizmo 的长就是让它众多应用中脱颖而出的 OCR 功能。文档扫描的成像效果好坏与否对它来说并不是那么的重要,因为利用它的 OCR 功能,Prizmo 可以生成机器可识别的 PDF 文档(Typewritten PDF)。除了傲视群雄的 OCR 功能,Prizmo 的售价也挺让人傲视的,将近 10 刀的售价几乎是同类应用均价的两倍。不过在你知道 Prizmo 的价值之后,就会觉得这 10 刀花的简直就是物超所值。
功能介绍
Prizmo 的用户界面并没有什么太多的亮点,中规中矩的遵循苹果的设计指导,主界面基本上照搬了苹果自家的 Newstand 应用的书架设计。与其他同类应用稍有不同的是,通常其他扫描应用一般只有一个按键作为创建扫描文档的快速入口,而 Prizmo 则拥有三个按钮,一共五种模式。
虽然有很多种模式,真正能够创建扫描文档的只是中央最大的那个相机按钮。其他的按键都只是临时借用 OCR 功能实现某些特定的操作,完成后操作后并不会在应用内创建任何的文档。这些特定的操作包括将文件上的内容通过 OCR 提取出来保存到剪切版中。或者在内置的阅读器中朗读文本的内容,这点对于有视力障碍或者眼神不好的老人特别的实用。值得一提的是如果你不满意 iOS 系统自带的那些像机器人一样的语音,可以下载由 Acapela 公司提供的第三方语音库,我稍微试听了下,效果确实比系统自带的要更动听更接近人声,尤其是日语的发音……当然好东西是需要付钱的,一个语音包售价 3 刀。还有一个就是许多具有 OCR 功能的扫描应用也都拥有的翻译功能,国外买的商品特别是药品这类东西必须遵循上面的说明使用,在看不懂又不知要如何手动输入到手机情况下,拿出来应急一下还是不错的。
尽管以上几种模式的目的性各不相同,但实际的操作流程并无二致,以创建扫描文档为例介绍一下照相机界面。前面提过 Prizmo 的设计几乎完全的遵从了苹果的设计指导,照相机界面也不例外。在系统自带的相机应用中左右滑动可以在全景、Slow Motion 等模式下切换,在 Prizmo 中存在相同操作手势,左右滑动在文本、图片以及名片三种模式间循环切换。前面两种模式单从字面上就可以理解其作用,这里就不再赘述。第三种名片模式就是扫描名片并提取名片上的信息,直接创建为手机里的联系人。其实在 Prizmo 中这个功能并不是最为重要的,但很多其他的扫描却作为主打功能作为卖点进行宣传。
除了通过镜头创建文档以及从相册中读取已经拍摄好照片作为文档的页面外,Prizmo 还有两个比较特别的导入方式。第一种是利用 iOS 8 的 Document Picker 直接从其他支持 Document Provider 的应用中抽取文件添加到 Prizmo 中,如果你有购买 iOS 的 Transmit 的话则可以直接将保存在 FTP 服务器上的文档添加到 Prizmo 中。牛 X 之处在于除了可以导入图片外还可以直接导入 PDF 文件。另外一种则是通过检测剪切板中的数据类型,如果存在图片的话就可以直接将剪切板中的图片导入到应用中,该选项只在有效时才会出现。
科技与人文 – OCR 与 VoiceOver
对于一个视力正常且智商正常的人而言将 iOS 设备的镜头对准需要扫描的文件然后轻轻按下拍照按钮应该是件比吃饭还要简单的事情。但一个视力障碍的人,可能需要费上不少劲才能完成看似简单的动作。此时 iOS 系统集成的 VoiceOver 就派上了用场,启用了该功能后 Prizmo 会发出语音告诉用户向左移动 iOS 设备还是再向下移动一点点来引导拍摄。即使文件放倒了也没有关系 Prizmo 的 OCR 引擎会自动纠正方向错误的文本。借助苹果提供的 VoiceOver API 和 ExperVision 强大的 OCR 引擎,最后加上 Acapela 优美动听的语音, Prizmo 让那些看不见的人们也能像正常人一样享受阅读之美,领略科技改变世界。
拍摄完所有的页面之后为了更佳的可读性,你可以为不同的页面套加不同的颜色滤镜。Prizmo 提供了原始、黑白以及颜色三种滤镜,并且可以手动调整亮度与对比度参数。Prizmo 的颜色滤镜是三个滤镜中做的最好的一个,第一次使用的时有一种初见美女的惊艳。尤其在处理图文混排的文件时,Prizmo 的算法会自动分辨图片与文本,将文本进行黑白处理,而图片则保持色彩不变。即保证了文本的易读,也让图片不失本色。
在滤镜功能旁边有一个很容易引起歧义的功能 -「Readability」,通过这个功能可以让原本模糊瘦细的字体变的更加清晰。起初我一直以为调整这个选项会提升扫描文件的成像效果,直到阅读了官方的帮助文档才知道这里的「可读性」并不是指用户的可读性,而是指 OCR 引擎的可读性。也就是说在这里无论你如何调整都对导出的 PDF 文件在观感上没有任何的影响,但会对 OCR 的准确率造成影响,因为它是给 OCR 引擎看的。总结一下「滤镜」调整的效果是给人看的,「Readability」里的效果是给机器看的。
前面的这些步骤都是为了更高的 OCR 识别率而铺垫的,多数情况下我很少去调整上面介绍的这些参数,因为 Prizmo 已经有一个预设的算法来优化文档,只在效果不理想时才需要人为干预。一切妥当之后点击右上角的「Recognize」对文档那进行 OCR 识别,过程中会有一个充满科技感的扫描动画。识别的速度非常快速,一份 A4 的文件只需要一秒左右就识别完成了。有个烦人的地方是 Prizmo 里面几乎所有的操作都是针对单独的页面而没有一个批量处理模式,假如一份文件有很多的页面,你需要手动的一个个去点击识别。尽管在导出文件时有还未 OCR 识别的页面存在时可以自动处理完后导出,但在没有预览的情况下导出总让人不是那么的放心。
OCR 引擎识别完成后会对文档的不同区域分区编号并标识为文本、图片和数字三种区域类型。Prizmo 的自动识别非常准确几乎能够无误的区分文本区域与图片区域。对标识为图片类型的区域,OCR 引擎就会略过处理以避免产生一些奇怪的冗余字符。如果对 Prizmo 自动分区不满意也可以手动的调整分区位置大小,添加删减分区或者改变分区的类型。Prizmo for iPad 的 OCR 编辑界面设计的非常合理,而非像其他应用那样填鸭式的将 iPhone 上的界面直接放大到 iPad 上。相同的界面在 iPhone 上需要三屏才能够展示的信息在 iPad 上被聚合到同一个界面下显示。让用户可以一边调整区域一边对比 OCR 的识别结果与原始文档是否有出入。在识别有误的情况下,可以直接在输出结果上人为修正,在编辑的同时 Prizmo 会自动将原始文档相对应的区域放大以便用户比对。非常的人性化。
Prizmo 除了使用 iCloud 用作同步文档外并没有集成任何第三方的云服务,所以不能像其他扫描应用那样可以直接将文档上传到云端后分享给别人,而需要先将文档导出后通过系统集成的分享列表(Share Sheets)选择分享的目的地。如果说前面介绍的这些功能能够让 Prizmo 与其它同类应用拉开距离,那么下面要介绍的「导出」功能可能要把同类应用甩开几条街了。也是因为这个功能才有了开篇的这个标题「将现实复制进虚拟的文档扫描应用」。
Prizmo 可以将 OCR 识别后的文档导出为三种文件类型,第一种是纯文本的 Txt 文件;其次是很多具有 OCR 功能的扫描应用包括 Scanbot 所采用的在导出的 PDF 文件中附上 OCR 数据;最后一种,Przimo 会将原始文档中的文本(Image)替换为电脑生成的字打文字(Typewritten),并让生成的文档与原始文档保持一致的排版,就像把已经打印成纸张的实体文件又逆向工程的生成了原始的数字文件。
iOS 8 新功能与自动化
在苹果发布 iOS 8 不久后 Creaceed 就随即更新了针对全新系统优化的 Prizmo 4,也因此多次被 App Store 的编辑团队所推荐。在新的大版本更新中除了对以往的功能与界面进行优化外还引入了许多 iOS 8 的全新系统特性。比如可以在不离开相册应用对已经拍摄的文件照片套加滤镜以及裁剪边缘的 Extension。在众多新增的特性中我个人最喜欢的是对 Handoff 的支持,这样我可以在 iPhone 上拍摄完文档后无缝的切换到屏幕更大更适于编辑的 iPad 或者 Mac 上对同一文档进一步处理,避免在 iPhone 上来回的切换界面。
在 iOS 自动化方面 Prizmo 应该是众多扫描应用中做的最好的一款,几乎所有的操作都能够通过 URL Scheme 执行。对 X-callback-URL 协议的支持也非常的良好,所以你可以将任何应用中的文本发送到 Prizmo 中朗读,反之你也可以将 Prizmo 的识别结果传输到任意应用中。我用 Prizmo 做的最经常的一件事情是充话费,偶尔也会将快递的单号扫描后存放到 Clear 中备用,虽然有点大材小用的嫌疑但确实很方便。具体的流程是在 Launch Center Pro 中添加一个 Action 让 Prizmo 开启单行识别拍照模式,对准充值卡的序列号,识别完成后跳转到短信界面将序列号发送到运营商指定的短信号码完成充值。
如果想将 OCR 识别结果传输到不支持剪切板调用的应用中的话可以通过调整destination
、pasteboardName
和textParameterName
这个三个参数来实现相同的操作。以将快递单号保存到 Clear 为例:
prizmo://x-callback-url/captureText?language=en&destination=url&textParameterName=taskName&x-success={{clearapp://task/create?listName={{Notes}}&listPosition=&taskName=}}
在这段 URL Scheme 中我将destination
的值设置为url
,这是提前告诉 Prizmo 将 OCR 的识别结果传输到后面的 URL,如果后面的应用支持调用剪切板的话可以将destination
的值设置为pasteboard
。然后将textParameterName
的值设置为与 Clear 创建任务的参数一致即taskName
。假设 Clear 创建任务的参数为CreatTask
,那么textParameterName
的值也应该设置为CreatTask
。简而言之就是「textParameterName」的值应该是目标应用创建文本的参数名,这样就可以直接将 OCR 结果传输到目标应用中。除此以外 Prizmo 其他的 URL Shceme 相对就比较好理解,有兴趣进一步了解 Prizmo 的话可以参考 Creaceed 在 Github 上的官方文档。
Prizmo 背后的团队
Prizmo 的开发商是来自于比利时的 Creadceed 公司。在谁也不知道会是什么样结果的情况下,两位联合创始人放弃了在大学研究员以及银行金融系统里的舒适工作于 2008 年创立了该公司。
Creaceed 是一个由 Creativity 以及意为「前进」的拉丁语 Cedere 所组成的衍生词。公司的 Logo 也很有意思是一颗种子,前半部由大颗粒像素构成,很好的传达了公司所从事的行业,恰巧的事种子 Seed 与 Ceed 发音也很相似。Prizmo 的话相对比较好猜想就是棱镜 Prism + OCR。
Raphael Sebbe 作为公司的创始人兼 CEO,也是公司的主要开发人员之一,特别热衷于任何涉及到图形图像的技术,当然也包括 3D 图形渲染以及图像分析识别。最初的时候他想着如何能够将这些自己擅长的技术组合在一起开发出一款不仅拥有最新科技并兼具实用性的应用,Prizmo 就由此诞生。
在沟通的过程中他推荐了一些他最常用的应用,分别如下:
- Tweetbot 这个就毋需多言了,他说他也在等着 iPad 版本更新。
- Pocket 稍后读应用。
- BTSync 本地同步应用。类似于局域网的 Dropbox,我个人也挺喜欢这个应用用来同步图片什么的非常方便,毕竟内网要比外网快上许多。
- PDF Pro 目前 App Store 里能够找到最好的 PDF 应用了。
- Mindnode 非常漂亮的思维导图应用。我自己本人也在使用。
- Maps.me 离线地图。旅行时没有网络的情况下非常实用,价格也不贵才 5 刀。
Mac 下最常用的应用有 Airmail、Pocket、Sketch、Textmate、Espresso。还有一些专业性的应用因为对大家没有什么参考价值就不一一介绍了。
最后
与其将 Prizmo 称之为一款具有 OCR 功能的扫描应用,我更愿意称其为具有扫描功能的 OCR 应用。Prizmo 像是一款从桌面搬到移动平台上的应用,它注定了不像其他的扫描应用那样以快取胜,但在功能上它有足够的资本让其他应用只能望其项背。iPhone 因为屏幕的限制在容纳这款桌面级应用时显得有点捉襟见肘,在 iPad 上则显得更加地游刃有余。
看来这里如果你跃跃欲试的想买来试一下的话,下面这个消息对你来说可能就是晴天霹雳了。Prizmo 不支持对中文的 OCR 处理,至少短期内是不会有的。Prizmo 中集成了两个 OCR 引擎,一个前面提到是由 Expervision 所提供的,另外一个则是开源的 Tesseract。前者负责像英语这些语言的解析,后者的话则是用来解析像韩文这类非拉丁字母的语言,因为 Tesseract 对中文的识别率不是非常的理想所以并未对中文以及日文的解析功能进行整合。