递归火山软件开发平台

标题: 图片相似度识别 [打印本页]

作者: plays    时间: 2024-11-24 12:28
标题: 图片相似度识别
通过网盘分享的文件:图片相似度比较
链接: https://pan.baidu.com/s/1jcW1AQkYIRkGmuoLVCQUjw 提取码: akqw

有没有人会把他转为火山可以用的库


作者: itismine    时间: 2024-11-25 09:44
看了一下这个,ThePictureContrast。
很早以前,好像论坛中有一个相似的项目,是关于文本识别的,现在找不到了。
和这个原理类似。在易语言中也有类似的程序。

===================
最简单的图像识别
 这里的关键技术叫做"感知哈希算法"(Perceptual hash algorithm),它的作用是对每张图片生成一个"指纹"(fingerprint)字符串,然后比较不同图片的指纹。结果越接近,就说明图片越相似。

下面是一个最简单的实现:
  第一步,缩小尺寸。
  将图片缩小到8x8的尺寸,总共64个像素。这一步的作用是去除图片的细节,只保留结构、明暗等基本信息,摒弃不同尺寸、比例带来的图片差异。
  第二步,简化色彩。  将缩小后的图片,转为64级灰度。也就是说,所有像素点总共只有64种颜色。
  第三步,计算平均值。  计算所有64个像素的灰度平均值。
  第四步,比较像素的灰度。  将每个像素的灰度,与平均值进行比较。大于或等于平均值,记为1;小于平均值,记为0。
  第五步,计算哈希值。  将上一步的比较结果,组合在一起,就构成了一个64位的整数,这就是这张图片的指纹。组合的次序并不重要,只要保证所有图片都采用同样次序就行了。

得到指纹以后,就可以对比不同的图片,看看64位中有多少位是不一样的。在理论上,这等同于计算"汉明距离"(Hamming distance)。如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片。
===================

最后附上一个实现。只有图片比较的方法。
(, 下载次数: 5)

作者: 苹果2014    时间: 3 天前
可以实现计算两个照片局部不同的变化面积吗




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4