如何搜索看起来像上传图片的图片

时间:2012-02-21 12:27:35

标签: ruby-on-rails linux bash search image-processing

我有一个数据库可以索引数千张图片。它们受到应用程序的限制,所以我会彻底改变图片。现在我想实现一个搜索,找到看起来像给定图片的图片。我可以使用时间戳,但图片中的细微差别或图片元数据会阻止找到正确的图像。

所以我需要一个命令行工具,可以找到看起来像给定图片的图片,如果这也匹配具有另一个灵魂但相同内容的图片,那将是最佳的。

最后,我将使用system在ruby on rails应用程序中实现它,但如果我有匹配的工具,我不认为这是一个问题。

3 个答案:

答案 0 :(得分:0)

也许你可以查看recommendify。来自github页面:

  

Recommendify是一个基于ruby / redis的推荐引擎 - The   建议可以逐步更新/处理,也可以多次更新/处理   主机。该工作者使用纯红宝石和本地C实现。

还有一个照片匹配here

的示例

答案 1 :(得分:0)

我认为像Tin Eye这样的大多数图像相似性引擎都使用某种形式的locality sensitive hashing。我不确定是否有任何ruby库,但一个简单的算法是将图像压缩到16x16。通过将像素块平均为一个像素来实现此目的。然后你可以使用差值之和(或方差之和......)来获得任意两张图片之间的差值。

答案 2 :(得分:0)

我找到了适合我的解决方案。让我远离使用基于Web的内容的一件事是,这些图片包含有信心的数据,所以我需要一个本地工作的服务,而不需要任何外部服务连接。

我安装了isk-Daemon一个服务,它附带了一个小型Web服务器以及一个SOAP和一个XML-RPC引擎来处理它。所以我还写了一个IskClient类,它将图像添加到数据库并将它们连接到MySQL数据库中的图像,并运行查询以获得类似的图像。我可以从这个类中构建一个gem。