五月九日举行的坚果 Pro 发布会上,老罗展示了拥有多项新功能的 One Step 进化版,其中以图搜图功能可以用拖拽的方式快速实现多个渠道的图片搜索,从而找到相关图片或了解图片内容信息,其方便与实用性令人颇有些心动。

但这些也只是交互方式上的创新,并不是全新的功能实现。图片搜索调用的还是搜索引擎的接口和数据,只是可以让用户方便的把要搜的图片发送过去。智能手机作为通用计算平台,只要不是受限于计算能力,这种应用层面的功能只要一家能做,其他手机上也应该能做。那么,在 iOS 上,用哪些 App 可以实现以图搜图呢?

搜索引擎应用

以图搜图不论如何实现,最终还是要用到搜索引擎的接口,所以我首先想到的是搜索引擎类应用。虽然国内外各大搜索引擎在 iOS 上都提供了自己独立的搜索应用,但并非都可以进行以图搜图的操作。我经过试用后发现,Google 无论在自己的搜索 App 里还是移动网页端 images.google.com,都无法进行以图搜图的操作,根本没有提供相关接口。

而微软家的搜索引擎必应 Bing 支持以图搜图,操作如下:应用主界右上⻆有三个按钮,点击左边第一个,即可拍照或从相册选取图片搜索。没有拖拽方便,但确实可用。

用必应搜索图片
用必应搜索图片

有时我们也想在相册中看图片时直接搜索,但可惜微软并没有在 Share Sheet 中提供相关搜图接口。2014 年 WWDC 上微软在台上展示了如何在 Safari 中利用 Share Sheet 直接调用必应翻译来翻译网页,三年过去了,必应提供的共享接口还是只有一个网页翻译,也许他们觉得其他功能做出来也没人用吧。

浏览器

我最初使用以图搜图就是在桌面版的 Chrome 上,网页图片在右键菜单中点击即可调用 Google 搜索图片。iOS 版 Chrome 同样支持直接搜索网页图片,方法与桌面端类似:长按图片,在弹出菜单中直接选择「在 Google 中搜索此图片」,即可在新页面中出现结果。在桌面上除搜索网页图片之外,本地图片也可以用 Chrome 打开然后右键搜索。而在 iOS 上这一途径并不存在,只能搜索网页图片。

我又试过 iOS 上其他一些第三方浏览器,如 Firefox, Opera, 夸克浏览器等,虽然都在功能和交互上大作文章,却没有一家提供搜图功能。

Reversee

前面说 Bing 只能应用内搜图而没有在「照片」中提供共享接口,那么这个名为 Reversee 的应用做的就是这件事。以文字搜图片是传统的正向图片搜索,而以图搜图或者搜相关信息则为反向图片搜索 Reverse Image Search。Reversee 之名正来源于此。

Reversee 提供了多种图片搜索方式。既可以在应用内调取相册图片或拍照搜索(拍照需解锁 Pro 版本),也可以从「照片」或浏览器应用中通过标准的 Share Sheet 共享接口直接上传图片并搜索。在三种方式之下,都可以在选定图片之后调整分辨率或者裁剪部分进行搜索。需要注意的是,在浏览器中使用时,并非像 Chrome 自带的功能那样,在网页图片上直接长按选择,这样选中图片后的共享列表中是没有 Reversee 的。需要将图片用新页面打开,这时 Reversee 就会出现在新页面的 Share Sheet 中了。这一浏览器扩展不仅支持 Safari,任何支持标准分享接口的第三方浏览器内也都可以使用。

Reversee主界面及扩展
Reversee主界面及扩展

Reversee 免费版本只能使用 Google 进行图片搜索,且从照片及浏览器扩展中搜图时要等待 10 秒的 Preparing 时间。付费 18 元解锁 Pro 版本后,可在应用内直接拍照搜索,可另外使用 Bing 和 Yandax 两个搜索引擎同时搜图,去除十秒等待时间,以及其他一些高级功能。

购物应用

京东,淘宝,亚马逊,当当都在 iOS 移动应用中提供了按图片搜索商品的功能。当当功能最弱,只能搜图书封面,识别率也一般。京东与淘宝类似,都可拍照识别图片或者载入相册图片搜索商品。

亚马逊稍有不同,不能搜索相册图片,但搜索实物时只需将物体放入取景框即可,无需拍照,应用会自行识别物体轮廓,有结果时直接跳转至对应商品页面,不像京东和淘宝两家总是给出一堆他们觉得相似而实际相差很远的商品。

另外在移动设备上用浏览器访问上述各商城的网页时,搜图功能都无法使用。而在桌面端访问网页时,也只有京东和淘宝可以点击搜索框中的相机图标以载入本地图片进行搜索,亚马逊和当当则不行。总的来说,以图片搜商品就是一项为移动而生的功能。

Power User 之选:Workflow

以图搜图这种操作,iOS 上没有提供现成的实现方法,但本身逻辑清晰,调用固定的 Web API。这样的工作交给 Workflow 最为合适,只是需要一定的学习成本。

Workflow 自带的动作里并无图片搜索,事实上在动作库中搜索 Google 会出来四个动作,两个地图相关,一个是在 Google Chrome 中打开链接,最后一个是「Search Web」。最后这个动作可以选择不同的搜索引擎,包括 Google,但是只接受文本作为输入。我一开始没看说明,想试试能不能搜图片。从照片 Extension 中试着运行这个动作,还真能跑,并没有出错。可是结果出来无语了,它只是把照片的文件名放上去搜索了,类似 IMG_2048 这样。

所以目前在 Workflow 里搜图只能自己定制动作,调用网络 API。少数派做的 Workflow Gallery 里提供了由 JailbreakHum 制作的两条以图搜图的 Workflow,一条百度一条谷歌,步骤完全一样,只是最后一步调用了不同的搜索引擎。在装有 Workflow 的 iOS 设备上打开 Gallery 网页,在需要的 Workflow 卡片上点击「获取该 WORKFLOW」,即可导入本地使用。

Workflow 之谷歌以图搜图
Workflow 之谷歌以图搜图

这两个 Workflow 的原理为:从相册中选取一张照片并设置变量,然后匿名上传至 sm.ms 这个香港的图床网站,再从服务器返回的结果中读取该图片网址,附加在

https://images.google.com/searchbyimage?image_url=

http://image.baidu.com/n/pc_search?queryImageUrl= 后面,然后把新生成的网址 URL 在 Safari 中打开,相当于用搜索引擎搜一个已知网址的网络图片。其实现是基于 Workflow 1.5.3 中添加的对 POST 这一 HTTP 请求方式的支持,具体可参见 Workflow 教程(八):利用新的请求方法打造 Web 小程序

这两条 Workflow 的类型都是 Today Widget,只能从 Workflow 主应用里运行或者从通知中心运行。如果想在相册中选中图片后直接调用,可以把原类型改为 Action Extension,并且设定属性为只接受图片 Accepts Images,再把原来第一步的 Select Photos 删除,即可从相册中直接发起搜索。

修改 Workflow 类型
修改 Workflow 类型

因为借用了第三方图床作为中转,若此图床网站因为任何原因发生改变,如宕机、API 变化,中止服务等情况,此一系列 Workflow 便不能再正常工作,需要用户自行调整,比如换用别家图床。前面说的 Reversee 可能也是这么搞的,不过它的图床出了问题有开发者去操心。而用 Bing 和 Chrome 这种第一方的服务则不会有这样的隐忧。

结语

以上展示了在 iOS 设备上以图搜图的几种途径。这些方法没有锤子的 One Step 酷炫,只能在各个应用内部「艰难」实现或寻找特定 app 解决。可是如其名所述,在锤子的系统上也只是把多步操作简化为「一步」而已,并非做到了人所不能。

其实搜图可以做的事情很多。除了找无水印高清大图外,还可以随时随地识别身边的动物植物、绘画雕塑以增长知识,艺术家、设计师朋友也可以借此查看自己的作品有没有被人侵权使用。现在的情况是,很多人不知道有这样的功能,还有人想用而不知道怎么用。因为用的人少,厂家才不重视。了解它,使用它,习惯它。用的多起来之后,还是会对个人生活学习和工作带来一些积极的改变。硬件和软件厂商也才有动力去优化搜图的使用体验。