【问题标题】:PHP Image comparsion analysisPHP图片对比分析
【发布时间】:2013-11-28 01:41:38
【问题描述】:

我希望存储 100 万张图像的指纹/图像,以便在上传时拍摄该图像与数据库中其他匹配项的相似度百分比。类似于http://www.tineye.com/http://images.google.com/,但用于我自己的个人网站。我不想使用他们的提交过程将图像提交给 tineye。

应该保存哪些信息?

我应该如何保存它?

有什么好的 PHP 库可以满足我的需求吗?

我想只保留 PHP,但我认为处理能力可能需要由应用程序外包,然后 PHP 可以处理输出。我正在运行 Debian Linux。

对于存储,我打算只将信息存储在 MySQL 中,但我认为考虑到 100 万张图像,它可能效率低下。

【问题讨论】:

  • 需要保存的信息取决于您将如何比较图像。当前的问题没有意义,因为它的范围是无限的,要了解一般问题,google for CBIR(基于内容的图像检索)。

标签: php image-processing imagemagick


【解决方案1】:

我认为使用 GD、ImageMagic 以及使用一系列 API 会很好。由于只有您提出建议,因此 API 问题并不是最重要的; API 将用于更大的应用程序;

例子

Uploaded Image
Image information submits to Database and Image is deleted from Server and Stored in the CDN
Image information to database

Size
Dimensions
Timestamp
Uploader
Type of Image
Image Category
Image Tags
Image Description

然后,您可以 cron 处理任务来扫描图像以获取图像上的大部分颜色。图像的形状。大多数带有文字的图像。什么文字。然后,您可以使用这些 Id 作为数字来构建库和匹配标签。这将是模式。你可以扫描相同的图像和匹配的模式..你可以更深入,但你也可以反对谷歌/IBM..

【讨论】:

  • 使用 API 算法是个好主意。由于您可以获得比较数据库,三个或四个比较引擎并比较匹配最接近的结果;因此为其他系统提供了更好的替代方案。
  • 对不起,我的回答有点伪,技术性不够。对于个人网站,我不知道你能做这样的事情有多简单!
【解决方案2】:

我决定采用这个 PHP 解决方案:

http://www.pureftpd.org/project/libpuzzle

尽管它有点过时并且不能很好地处理裁剪的图像,但它能够识别小的编辑、颜色变化和一些调整大小。它还附带了示例 PHP 代码(尽管有问题)

【讨论】:

    【解决方案3】:

    这样的分析是通过使用复杂的算法来完成的,比如

    http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

    这个是有版权的,但是有源代码的实现,可以在网上找到。

    【讨论】:

      【解决方案4】:

      如果您正在寻找“感知哈希”,您还可以查看:

      http://phash.org/

      他们也提供 php 扩展。

      【讨论】:

        猜你喜欢
        • 2016-10-20
        • 2011-01-03
        • 2016-04-16
        • 2012-11-15
        • 2014-01-30
        • 1970-01-01
        • 2011-03-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多