OpenCV重复图像检测(用于筛除不同来源下载的重复图像)

最近做深度学习需要从网上批量下载一些图像,遇到一个现实的问题就是不同关键字爬取下来的图像可能完全一样,这样的样本如果不加以清除势必影响模型的学习效果。

写的也比较简单,装有tensorflow的直接可以用,没装的用os实现遍历文件名也可,写的比较仓促就没改,日后有空补上新版

注意:因为这里是用0-255的像素采样(采了10个点)作为信息指纹,所以只能检测出完全一样的图,相似图像或者剪裁过的样本无法检测,网上有一些类似功能的脚本,大家各取所需。

权当练手,不喜勿喷哈哈哈

代码目的:批量检测一个图像库中的所有重复图像并批量归类到垃圾桶

执行所需:自定义图像库路径path和垃圾桶路径trashcan

执行效果:无论重复多少次,path下只保留一张原始图像;trashcan下存放检测到的被重复图像与其所有copy版本(把重复图像也复制到trashcan是为了好比对,也能证明脚本有效)

下面放代码:

import cv2
import os
import tensorflow as tf
import shutil

'''
使用说明:本脚本利用图像中不同灰度像素个数作为信息指纹检测完全相同的图像,用于筛除从网上下载的重复
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值