【问题标题】:How do I test if jpeg is photo (or rather logo)我如何测试 jpeg 是否是照片(或者更确切地说是徽标)
【发布时间】:2013-06-20 13:33:05
【问题描述】:

我正在使用 pdfimages 工具作为 jpeg 从给定的 PDF 文件(包含房地产概要)中提取所有图像。现在我想自动区分照片和其他图片,比如经纪人的标志。我该怎么做?

  • 是否有像谷歌图片搜索那样可以区分照片和剪贴画/线条图等的开放工具?
  • 是否有一个开放工具可以为我提供给定 jpeg 使用的颜色数量?

我知道这会带来一定的不确定性,但没关系。

【问题讨论】:

  • 对于 Nueral 网络来说应该相当简单,但这可能是矫枉过正

标签: image-processing jpeg


【解决方案1】:

我会看看颜色分布。在渐变的情况下,颜色可能密集或“过于”均匀分布。或者,您可以查看图像的频率分布。

【讨论】:

    【解决方案2】:

    您可以分两步解决您的问题:(1) 从图像中提取某种信息并(2) 训练一个可以区分这两种类型的分类器图片数量:

    1 - 特征提取

    在这一步中,您必须编写一个程序/函数,将图像作为输入并返回一个数字向量来描述其视觉信息。正如 koan 在他的回答中指出的那样,颜色分布包含很多有用的信息。所以我会尝试以下措施: * 每个颜色通道(红、绿、蓝)的直方图,因为这是对图像颜色分布的基本描述; * 每个直方图的均值、标准差等statistical moments。这应该为您提供有关颜色如何在图像中分布的信息。对于图形,例如徽标,颜色分布应与照片显着不同; * 傅里叶描述符。在绘图中,您可能会发现很多边缘,而在照片中则不会出现这种情况。用傅里叶描述符就可以得到这种信息。

    2 - 分类

    在这一步中,您将训练某种分类器。基本上,获取一组图像并将每个图像手动标记为绘图或照片。此外,使用您在步骤 1 中编写的提取函数从每个图像中提取向量。这将是您的训练集。训练集将用作训练分类器的输入。正如 Neil N 评论的那样,神经网络可能是一种过度杀伤力(或者可能不是?),但是您可以使用很多分类器(例如k-NNSVMdecision trees)。您不必自己实现分类器,因为您可以使用机器学习软件,例如Weka

    最后,在您训练好分类器之后,从您要测试的图像中提取向量。使用此向量作为分类器的输入,以预测图像是照片还是徽标。

    【讨论】:

    • 好的特征是尺寸、纵横比和文件大小。由于熵较低,徽标的压缩效果会更好。
    【解决方案3】:

    一个更简单的解决方案是自动将图像发送到 google 图像搜索并启用“相似图像”设置,然后查看 google 是否发送主要返回 PNG 结果或 JPEG 结果。

    【讨论】:

      猜你喜欢
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      相关资源
      最近更新 更多