作者:caocao(网络隐士),
http://www.caocao.name,
http://www.caocao.mobi 转载请注明来源:
http://www.iteye.com/topic/149776有的网站允许用户上传照片、海报之类的图片,作为开发人员不可避免就会遇到这样的状况,就是用户上传上来的图片很大一部分是重复的或者相似的。为此隐士想就此探讨一下实现识别相似图像的算法。
如果有这样的算法,它应该具备哪些特性呢?隐士以为主要的特性有:
1、可以辨别完全一样的图像。
2、可以辨认镜像、旋转、平移、缩放、比例失真、加边的图像。
3、可以辨认图像内部部分区域。
4、可以辨认偏色、过曝、欠曝、模糊、噪点。
5、可以辨认水印。
6、可以辨认被轻微PS的图像。
7、误认率必须相当低。
8、辨认图像的时候不扫描其他图像,仅仅根据对其他图像提取的特征数据就能够辨认出来。
看来是要求颇多哦,闲话不多说,请看下面的图,假设存在这样的算法,隐士希望只要输入一个浮点数作为最小相似度M,所有与输入图像相似度大于等于M的都会被列出来。图中01.jpg是输入图像,其余都是和输入图像相似的图像,其顺序按相似度倒序排列。
貌似效果还不错,基本实现了需求,下面隐士谈谈思路。由需求可知第一步是提取图像的特征数据:
1、整个文件的Hash码,用来辨认完全一样的图像。
2、旋转角度不敏感数据,这是用来抗旋转、镜像的。
3、宽高比例不敏感数据,这是用来抗缩放、比例失真的。
4、偏色不敏感数据,这是用来抗偏色、过曝、欠曝的。
5、整体轮廓数据,这是用来抗加边、模糊、噪点、水印、轻微PS的。
通过索引这些特征数据来进行复杂运算后得到一个综合的相似度即可实现不扫描其余图像而快速识别图像。由于算法还不是很成熟,希望对此感兴趣的看官和隐士共同探讨这样的算法。隐士的MSN: nethermit#hotmail。com。
分享到:
相关推荐
颜色识别与追踪算法是计算机视觉领域中的关键技术,用于在图像或视频流中定位和跟踪特定颜色的对象。在本讨论中,我们将重点聚焦于名为“EasyTrace”的算法,它被描述为一种优秀的颜色追踪算法。EasyTrace算法的设计...
总之,这个基于Java的图像识别系统利用直方图比较算法实现了高准确率的相似图像识别,对于电商行业的商品搜索具有重要意义。通过对Java图像处理库的熟练运用和创新算法设计,开发者成功地提高了识别的准确性和用户...
在图像处理领域,Python 提供了强大的工具来处理各种任务,包括识别相似图片。本文将探讨使用 Python 实现这一功能,主要依赖于 PIL(Python Imaging Library)的升级版 Pillow 库。 **Pillow 库** Pillow 是 PIL ...
相似性算法主要用于寻找数据集中的相似或相关的对象,它广泛应用于推荐系统、文本分类、图像识别等多个领域。本篇文章将深入探讨相似性算法中的特征选取策略,并结合源码和工具进行详细阐述。 特征选择的目的是降低...
本文将深入探讨一个基于Java语言实现的相似图像识别系统,该系统利用直方图比较算法,据称其性能优于基于图像指纹的哈希算法。 直方图比较算法是图像处理中的基本方法,它主要关注图像的颜色分布。在图像识别过程中...
在Java中进行图像识别,尤其是判断两张图片是否相似,是一个涉及计算机视觉和图像处理的复杂任务。本话题将深入探讨如何使用Java实现这一功能。在实际应用中,图像相似度判断广泛应用于图像检索、内容识别、人脸识别...
蔬果识别是计算机视觉领域的一个重要应用,它利用图像处理和机器学习技术来区分不同的果蔬种类。本资源“基于机器学习的蔬果识别算法.rar”提供了实现这一目标的方法,主要聚焦于利用聚类算法进行蔬果分类。接下来,...
以下将详细探讨几个可能包含在该压缩包中的关键图像算法及其应用: 1. **图像处理基础算法**:这些算法通常包括图像的灰度化、二值化、直方图均衡化、平滑滤波(如高斯滤波、中值滤波)以及锐化滤波(如拉普拉斯...
"基于PCA算法的人脸识别算法设计与实现" 本文探讨了基于主成分分析(PCA)...本文探讨了基于 PCA 算法的人脸识别方法,提出了基于 PCA 算法的人脸识别算法,并对其进行了实验验证,结果表明该算法具有良好的识别性能。
在C#编程中,查找图片中的相似图片是一项常见的任务,特别是在图像处理、计算机视觉和人工智能领域。本项目提供了一个经过测试的完整C#工程,能够帮助开发者实现这一功能。下面我们将详细探讨相关知识点。 1. 图像...
在探讨指纹识别算法时,我们不能忽略它的发展历史和目前的技术应用。 指纹识别技术始于十九世纪末,最早由法国警官Alphonse Bertillon提出利用身体测量来解决犯罪问题,但很快这种基于身体测量的技术被更为独特且...
在本篇讨论中,我们将深入探讨模糊逻辑的基本原理,以及如何在模式识别和图像处理中应用这些模型和算法。 首先,模糊逻辑的基础是模糊集合论。传统的集合论定义元素要么属于集合,要么不属于集合,而模糊集合则引入...
此外,本文还探讨了基于图像的农作物病害识别关键算法,为提高病害识别的准确性和效率提供一定的参考。图像处理和机器学习技术的发展为农作物病害识别提供了新的解决方案。图像处理技术可以对图像进行预处理、特征...
本文献主要探讨了一种新的多速率算法在二维图像边界识别中的有效应用,并通过实例验证了该算法的有效性和实用性。图像分析中的一项核心任务是对图像中的对象边界进行识别与跟踪,这对于图像的分割、存储以及后续的...
摘要:本文将探讨如何将人脸识别技术运用在安防领域,实现智慧安防。人脸识别技术从上世纪 60 年代发展到现在,目前人脸识别算法精确率几乎可达 100%。现如今基于深度学习的人脸识别算法识别率相对较高,也备受大家...
接下来,我们将深入探讨这些算法的原理、应用及在实际项目中的使用。 1. PCA(主成分分析):PCA是一种统计方法,用于将高维数据转换为一组线性不相关的低维特征,同时保留大部分方差。在人脸识别中,PCA常用于降维...
本文将深入探讨图像分割的概念、方法以及它在异物检测和目标识别中的应用。 首先,图像分割是对图像进行像素级别的分类,目的是将具有相似特征的像素区域划分出来,形成不同的对象或背景区域。这一过程可以揭示图像...
在本项目"VISUAL+C++指纹模式识别系统算法及实现_0"中,我们将探讨如何利用C++编程语言和Visual Studio环境来设计和实现一个指纹识别系统。这个系统的核心在于算法的设计与优化,以及对硬件设备的适配。 首先,指纹...