我需要一种简单快速的方法来比较两个图像的相似性.即如果它们包含完全相同的东西但是可能有一些稍微不同的背景并且可能被移动/调整大小几个像素,我想获得高值.
(更具体的是,如果重要的话:一张图片是一个图标,另一张图片是截图的子区域,我想知道该子区域是否恰好是图标.)
我手边有OpenCV,但我仍然不习惯它.
到目前为止我想到的一种可能性:将两张图片分成10x10个单元格,对于这100个单元格中的每一个,比较颜色直方图.然后我可以设置一些补偿阈值,如果我得到的值高于该阈值,我认为它们是相似的.
我还没有尝试过它的效果如何,但我想它会足够好.图像已经非常相似(在我的用例中),所以我可以使用相当高的阈值.
我想有很多其他可能的解决方案可以或多或少地工作(因为任务本身非常简单,因为我只想检测相似性,如果它们非常相似).你会建议什么?
关于从图像中获取签名/指纹/哈希,有一些非常相关/类似的问题:
另外,我偶然发现了这些具有获取指纹功能的实现:
关于感知图像哈希的一些讨论:这里
有点offtopic:有很多方法来创建音频指纹.MusicBrainz是一种为歌曲提供基于指纹的查找的网络服务,在他们的维基中有很好的概述.他们现在正在使用AcoustID.这是为了找到精确(或大部分精确)的匹配.要查找类似的匹配(或者如果您只有一些片段或高噪音),请查看Echoprint.一个相关的SO问题在这里.所以这似乎解决了音频问题.所有这些解决方案都非常有效.
这就是我想做的事情:
我定期用网络摄像头拍照.有点像时间流逝的事情.但是,如果没有真正改变,也就是说,图片几乎看起来一样,我不想存储最新的快照.
我想有一些量化差异的方法,我必须凭经验确定一个阈值.
我在寻求简洁而不是完美.我正在使用python.
python image-comparison image-processing timelapse background-subtraction
我需要一种算法,可以确定两个图像是否"相似"并识别相似的颜色,亮度,形状等模式.我可能需要一些关于人类大脑用来"分类"图像的参数的指针...
我已经看过基于hausdorff的匹配,但这似乎主要是为了匹配变换对象和形状模式.
我的目标是提供2个图像文件,并获得关于这2个文件是否可以相同(在可接受的确定程度内)的真/假响应.
我意识到这个问题属于人工智能,并且比它看起来要复杂得多,所以我非常怀疑自己能够(或者甚至想要)做到这一点.我正在寻找的可能是图书馆或班级.我正在使用PHP.
提前致谢..
所有有用的答案/评论都会被投票.
更新:
我想知道我是否过于复杂,也许像imageMagick(imagick)这样的更通用的库可以完成它吗?谁对imageMagick更有经验?
php artificial-intelligence image image-processing image-recognition
我是OpenGL的新手,我很期待比较两种纹理,以了解它们彼此之间的相似程度。我知道如何使用两个位图图像来实现此目的,但我确实需要使用一种方法来比较两个纹理。
问题是:当我们比较两个图像时,有什么方法可以比较两个纹理吗?像一个像素一个像素地比较两个图像?