Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 如何测试jpeg是否为照片(或者更确切地说是徽标)_Image Processing_Jpeg - Fatal编程技术网

Image processing 如何测试jpeg是否为照片(或者更确切地说是徽标)

Image processing 如何测试jpeg是否为照片(或者更确切地说是徽标),image-processing,jpeg,Image Processing,Jpeg,我正在使用pdfimages工具将给定PDF文件(包含房地产简介)中的所有图像提取为JPEG格式。现在我想自动区分照片和其他照片,比如经纪人的标志。我该怎么做 是否有一个像谷歌图像搜索一样可以区分照片和剪贴画/线条图等的开放式工具 有没有一个开放的工具,可以给我一个给定的jpeg使用的颜色数 我知道这会有一定的不确定性,但没关系。我会看看颜色分布。在渐变情况下,颜色可能密集或“过于”均匀分布。或者,您可以查看图像的频率分布。您可以通过两个步骤来解决问题:(1)从图像中提取某种类型的信息,(2

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

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

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

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

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

1.特征提取 在这一步中,您必须编写一个程序/函数,以图像作为输入,并返回一个数字向量来描述其视觉信息。正如koan在他的回答中指出的,颜色分布包含了很多有用的信息。因此,我会尝试以下措施: *每个颜色通道(红、绿、蓝)的直方图,因为这是图像颜色分布的基本描述; *每个直方图的平均值、标准差和其他值。这将为您提供有关颜色在图像中如何分布的信息。对于图形(如徽标),颜色分布应与照片明显不同; *傅立叶描述符。在图形中,您可能会发现很多边,而在照片中,这是不可能的。使用傅立叶描述符,您可以获得此类信息

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


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

一个更简单的解决方案是在启用“相似图像”设置的情况下自动将图像发送到google图像搜索,然后看看谷歌是主要发送PNG结果还是JPEG结果。

对于普通网络来说应该是相当简单的,但这可能会有点过头。好的功能是尺寸、纵横比和文件大小。由于熵较低,徽标的压缩效果会更好。