def diff_img(check_img, original_img_path):
"""
check_img: 被检测图片
original_img_path: 基准图
"""
try:
# 先将转换图像为灰度,减少比较的复杂性, 再将图像转换为列表,进行像素级比较
img_one = Image.open(check_img).convert('L').histogram()
img_tow = Image.open(original_img_path).convert('L').histogram()
except Exception:
res = compare_svgs(check_img, original_img_path)
print(f'.svg图片检测结果: {check_img.split("/")[-1]},相似度: {res}')
else:
res = math.sqrt(reduce(operator.add, list(map(lambda a, b: (a - b) ** 2, img_one, img_tow))) / len(img_one))
print(f'.png图片检测结果: {check_img.split("/")[-1]},相似度: {res}')
return res
def compare_svgs(file1, file2):
"""
检测.svg格式
"""
with open(file1, 'r') as f1, open(file2, 'r') as f2:
text1 = f1.read()
text2 = f2.read()
similarity = SequenceMatcher(None, text1, text2).ratio()
res = 100 - similarity * 100
return f"文件差异百分比: {res:.2f}%"
使用PIL对比两张图片是否相同
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Imagemagick是一个强大的图像处理库,号称命令行上的photoshop 使用GD扩展实现和本篇文章相同的效...
- 环境配置 :OpenCV在xCode中的安装与环境配置环境配置[https://www.jianshu.com/p...
- 环境配置 :OpenCV在xCode中的安装与环境配置环境配置 效果图效果图 源码(合成不同大小的图片)(先前合成...