用 Python 批量删除重复内容的图片

场景:

我有近8万张图片在 D:\Downloads\Recording_Cropped 这个文件夹中,它们的文件名和图片上的内容如下表。

文件名 图片上的内容
Recording_00000.png 0
Recording_00001.png 1
Recording_00002.png 2
Recording_00003.png 2
Recording_00004.png 2
Recording_00005.png 3
Recording_00006.png 3
Recording_00007.png 3
Recording_00008.png 4
Recording_00009.png 5
Recording_00010.png 6
Recording_00011.png 6
Recording_00012.png 6
Recording_00013.png 7
Recording_00014.png 7
Recording_00015.png 7
Recording_79233.png 13962
Recording_79234.png 13963
Recording_79235.png 13964
Recording_79236.png 13964
Recording_79237.png 13964
Recording_79238.png 12965
需求:

删除图片上有重复数字的图片,例如: Recording_00002.png, Recording_00003.pngRecording_00004.png 上面的数字都是 2,所以只需要保留 Recording_00002.png,删除 Recording_00003.png, Recording_00004.png

整体解决思路
  1. 读取图片内容中的数字(OCR识别);
  2. 记录每个数字第一次出现的图片;
  3. 其余含相同数字的图片就删除。
推荐工具组合 (Windows)
工具 用途
Python 编写自动处理逻辑
Tesseract OCR 识别图片中的数字内容
Pillow (Python 库) 读取图片
os/shutil 文件操作(删除文件)
步骤详解

步骤 1:安装所需环境

  • 安装 Python
    从官网下载安装:https://www.python.org/
  • 安装 Tesseract OCR
    下载地址(Windows):https://github.com/UB-Mannheim/tesseract/wiki
    安装后,记住安装路径,例如:D:\Program Files\Tesseract-OCR\tesseract.exe
  • 安装 Python 第三方库
    打开命令提示符,运行以下命令:
    pip install pillow pytesseract
    

步骤 2:Python 脚本识别数字并删除重复
保存下面的 Python 脚本为 Remove Duplicates.py , 我把它放在了 "D:\Works\Python\Remove Duplicates.py"

import os
import shutil
from PIL import Image
import pytesseract
from concurrent.futures <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值