微信里两张图看起来差不多,
但电脑怎么知道它们“像不像”?
这篇文章用最简单的方法,带你理解计算机是如何判断图片相似度的,
不用 AI 模型,也不用复杂算法。
一、核心思路一句话讲清楚
电脑并不“看图”,而是:
把图片转换成一串特征,再比较特征是否接近
我们用一种非常经典的方法:
图片指纹(感知哈希)
二、这个方法能做什么?
- 判断两张图片是否重复
- 找出“几乎一样”的图片
- 清理相似截图、相似照片
很多相册、去重工具,底层就是这个思路。
三、准备环境(非常简单)
只需要安装一个库:
pip install pillow
四、最小可运行示例(不超过 15 行)
下面代码直接复制即可运行:
from PIL import Image
import imagehash
img1 = Image.open("a.jpg")
img2 = Image.open("b.jpg")
h1 = imagehash.average_hash(img1)
h2 = imagehash.average_hash(img2)
print("差异值:", h1 - h2)
五、如何看结果?
输出的是一个数字,例如:
差异值: 3
理解规则很简单:
- 0~5:几乎一样
- 6~10:有点像
- >10:明显不同
数字越小,图片越相似。
六、为什么这个方法有效?
原理不复杂:
1️⃣ 图片被压缩成小尺寸
2️⃣ 转成灰度
3️⃣ 生成“亮度指纹”
4️⃣ 对比指纹差异
即使图片尺寸不同、略微裁剪,也能识别出来。
七、你可以立刻扩展的玩法
不用改太多代码,就能:
- 批量找重复图片
- 相册自动去重
- 判断截图是否重复保存
非常适合工具型小项目。
八、适合哪些人?
- 对 AI 感兴趣的新手
- 想理解“机器怎么看图”的人
- Python 初学者
- 想写点不一样技术文章的人
九、总结一句话
真正的智能,并不一定来自大模型。
很多“像不像”的判断,其实很朴素。
理解这些底层思路,
你会发现 AI 并没有那么神秘。
