我如何测试如果jpeg是照片(或更确切地说标志)



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

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

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

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

你可以通过两个步骤来解决这个问题:(1)从图像中提取一些信息,(2)训练一个可以区分两种类型图像的分类器:

1 -特征提取

在这一步中,你必须编写一个程序/函数,以图像作为输入并返回一个数字向量来描述其视觉信息。正如koan在他的回答中指出的那样,颜色分布包含了很多有用的信息。因此,我会尝试以下措施:* 每个颜色通道(Red, Green, Blue)的直方图,因为这是图像颜色分布的基本描述;*每个直方图的均值、标准差和其他统计矩。这将给你关于颜色在图像中如何分布的信息。对于图形,如徽标,颜色分布应该与照片有明显不同;* 傅里叶描述子。在绘画中,你可能会发现很多边缘,而在照片中,这是不期望的。用傅里叶描述符,你可以得到这类信息。

2 -分类

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

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

一个更简单的解决方案是自动将图像发送到google图像搜索与'相似图像'设置,并查看google是否主要发送PNG结果或JPEG结果。

相关内容

最新更新