相关疑难解决方法(0)

简单快速的方法来比较图像的相似性

我需要一种简单快速的方法来比较两个图像的相似性.即如果它们包含完全相同的东西但是可能有一些稍微不同的背景并且可能被移动/调整大小几个像素,我想获得高值.

(更具体的是,如果重要的话:一张图片是一个图标,另一张图片是截图的子区域,我想知道该子区域是否恰好是图标.)

我手边有OpenCV,但我仍然不习惯它.

到目前为止我想到的一种可能性:将两张图片分成10x10个单元格,对于这100个单元格中的每一个,比较颜色直方图.然后我可以设置一些补偿阈值,如果我得到的值高于该阈值,我认为它们是相似的.

我还没有尝试过它的效果如何,但我想它会足够好.图像已经非常相似(在我的用例中),所以我可以使用相当高的阈值.

我想有很多其他可能的解决方案可以或多或少地工作(因为任务本身非常简单,因为我只想检测相似性,如果它们非常相似).你会建议什么?


关于从图像中获取签名/指纹/哈希,有一些非常相关/类似的问题:

另外,我偶然发现了这些具有获取指纹功能的实现:

关于感知图像哈希的一些讨论:这里


有点offtopic:有很多方法来创建音频指纹.MusicBrainz是一种为歌曲提供基于指纹的查找的网络服务,在他们的维基中很好的概述.他们现在正在使用AcoustID.这是为了找到精确(或大部分精确)的匹配.要查找类似的匹配(或者如果您只有一些片段或高噪音),请查看Echoprint.一个相关的SO问题在这里.所以这似乎解决了音频问题.所有这些解决方案都非常有效.

对一般的模糊搜索一个稍微更通用的问题是在这里.例如,存在局部敏感的散列最近邻搜索.

opencv image-processing computer-vision

186
推荐指数
5
解决办法
12万
查看次数

如何量化两幅图像之间的差异?

这就是我想做的事情:

我定期用网络摄像头拍照.有点像时间流逝的事情.但是,如果没有真正改变,也就是说,图片几乎看起来一样,我不想存储最新的快照.

我想有一些量化差异的方法,我必须凭经验确定一个阈值.

我在寻求简洁而不是完美.我正在使用python.

python image-comparison image-processing timelapse background-subtraction

169
推荐指数
9
解决办法
16万
查看次数

如何测量两幅图像之间的相似度?

我想比较一个应用程序(可能是一个网页)的屏幕截图与之前拍摄的屏幕截图,以确定应用程序是否正确显示自己.我不想进行完全匹配比较,因为方面可能略有不同(在Web应用程序的情况下,取决于浏览器,某些元素可能位于稍微不同的位置).它应该衡量屏幕截图的相似程度.

是否有图书馆/工具已经做到了?你会如何实现它?

language-agnostic algorithm image image-processing

89
推荐指数
8
解决办法
9万
查看次数

使用OpenCV 2.2筛选实现

有人知道SIFT实现与OpenCV 2.2的示例链接.问候,

opencv sift

32
推荐指数
4
解决办法
6万
查看次数

如何将两个时间序列与差距和不同的时基相关联?

我有两个时间序列的3D加速度计数据具有不同的时基(时钟在不同的时间开始,在采样时间内有一些非常轻微的蠕变),以及包含许多不同大小的间隙(由于与写入分开相关的延迟)闪光设备).

我使用的加速度计是便宜的GCDC X250-2.我正在以最高增益运行加速度计,因此数据具有显着的本底噪声.

每个时间序列具有大约200万个数据点(超过一小时,512个样本/秒),并且包含大约500个感兴趣的事件,其中典型事件跨越100-150个样本(每个200-300ms).许多这些事件都受到闪存写入期间数据中断的影响.

因此,数据不是原始的,甚至不是很漂亮.但我的眼球检查显示它清楚地包含了我感兴趣的信息.(如果需要,我可以发布情节.)

加速度计处于相似的环境中,但只是适度耦合,这意味着我可以通过眼睛判断哪些事件与每个加速度计匹配,但到目前为止我在软件中这样做是不成功的.由于物理限制,设备也安装在不同的方向,轴不匹配,但它们尽可能接近正交.因此,例如,对于3轴加速度计A和B,+ Ax映射到-By(上下),+ Az映射到-Bx(左右),+ Ay映射到-Bz(前后) .

我最初的目标是将纵向轴上的冲击事件关联起来,尽管我最终希望a)自动发现轴映射,b)关联映射的aces上的活动,以及c)提取两个加速度计之间的行为差​​异(例如扭曲或弯曲).

时间序列数据的本质使得Python的numpy.correlate()无法使用.我也看过R的动物园套餐,但没有取得进展.我已经在信号分析的不同领域寻求帮助,但我没有取得任何进展.

任何人都有我能做什么的线索,或者我应该研究的方法?

2011年2月28日更新:此处添加了一些显示数据示例的图表.

python signal-processing numpy r accelerometer

14
推荐指数
1
解决办法
6452
查看次数

使用索引查找相似图像的算法

有一些令人惊讶的好图像比较工具,即使它们不完全相同(例如,尺寸,壁纸,亮度/对比度的变化),它们也能找到相似的图像.我在这里有一些示例应用程序:

我只尝试过第一个,但所有这些都是为Windows开发的,不是开源的.Unique Filer于2000年发布,主页似乎已经消失.它出乎意料地快(即使在当年的计算机上),因为它使用索引并使用索引比较一些10000个图像仅需要几秒钟(并且更新索引是一个可伸缩的过程).

由于这种算法以非常有效的形式存在至少15年,我认为它已被充分记录,并且可能已经作为开源库实现.有谁知道更多关于使用哪种算法或图像检测理论来实现这些应用程序?也许甚至可以使用它的开源实现?

我已经检查了算法找到类似的图像,但所有的答案通过比较一个图像来解决问题.对于1000多张图像,这将导致1000 ^ 2比较操作,这不是我正在寻找的.

algorithm image-processing similarity

9
推荐指数
1
解决办法
1018
查看次数

Python - 在目录中查找类似图像的最佳方法

这是我想要实现的效果 - 想象一下,用户提交一个图像,然后是一个python脚本,在每个JPEG/PNG中循环显示当前工作目录中的类似图像.

接近Google图片搜索的工作方式(当您提交图片并返回类似图片时).我应该使用PIL还是OpenCV?

顺便说一句,最好使用Python3.4,但Python 2.7很好.

威尔逊

python python-imaging-library python-3.x

6
推荐指数
1
解决办法
3711
查看次数

使用Python查找具有类似调色板的图像

假设图库中有10,000个JPEG,PNG图像,如何找到具有相似调色板的所有图像到选定图像,并按降序相似度排序?

python image colors

5
推荐指数
1
解决办法
4490
查看次数

Python 或 PHP 中的感知哈希算法?

我通过 StackOverflow接触到pHash,这是一个用于音频、视频、图像和文本指纹识别的 C++ 感知哈希库 - 最近初步绑定了 PHP、C# 和 Java。

我对研究这些算法很感兴趣,我想知道是否有相同/相似算法的开源纯Python或PHP实现?这会让我的生活变得更加轻松。

php python algorithm hash perception

5
推荐指数
1
解决办法
3404
查看次数

位图数据相似度算法

我想比较两个位图或位图的一部分,看看它们有多相似。

我遇到过一些用于字符串数据的相似算法,例如 Levenshtein 距离和 Jaro-Winkler 距离。显然,这些对于位图数据没有帮助。

任何人都可以建议一种算法来比较位图的相似程度吗?


编辑

感谢您的想法,链接等。

虽然所有信息都有助于熟悉这个主题,但我想知道如何生成图像,更多的是:

在此处输入图片说明

algorithm comparison bitmap

5
推荐指数
1
解决办法
1127
查看次数

使用图像而不是通过标签从数据库中查找相似的图像

那么问题很简单我想找到一个给出查询图像的类似图像,类似于TinEye所做的.假设我有一件带有以下描述的衬衫

袖长:满

领子:礼物

图案:条纹

(以上数据只是为了让您感觉图像我实际上没有这些数据)

询问 similarOutput1 similaraOutput2 similarOutput3

第一个图像是查询图像,下一个图像是相似性查找算法的输出.因此,基于该示例,我们具有灵活性,例如我们可以向用户显示具有改变颜色的图像,我们可以看到所有图像具有相同的图案,相同的领型或袖长.所以我必须显示视觉上相似的输出.

堆栈上有类似的线程也 从堆栈链接,不仅如此,还有很多其他.但我对这种方法感到困惑.

在我的情况下,我不必搜索另一个类别,我必须搜索相同的类别,如果输入是衬衫我将只在衬衫类别中搜索.那部分已经完成.

所以问题是处理这个问题的方法是什么.对于颜色来说这不是什么大问题.可以通过颜色直方图轻松提取颜色信息.让我们说输入是TShirt圆领,即没有衣领,半袖和印在中心的文字.现在输出应该是类似半袖,圆领和中心印刷文字的图像.认为文字可能会有所不同.我尝试了K-Means聚类和P-hash但是没有用.请赐教

PS:我必须找到类似的图像不重复.

opencv machine-learning image-processing computer-vision deep-learning

4
推荐指数
1
解决办法
1255
查看次数

检测两个视频文件中的相似度

我正在研究用Java检测2个视频之间的相似性.用户将建议两个视频,软件必须通过检查文件内容来检测它们是否相似.我读到可以比较2个视频的每个帧.任何人都可以分享可以用Java实现的任何合适的算法(或代码或方法)吗?

java video similarity detection

1
推荐指数
1
解决办法
4355
查看次数