场景:
我有近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.png 和 Recording_00004.png 上面的数字都是 2,所以只需要保留 Recording_00002.png,删除 Recording_00003.png, Recording_00004.png 。
整体解决思路
- 读取图片内容中的数字(OCR识别);
- 记录每个数字第一次出现的图片;
- 其余含相同数字的图片就删除。
推荐工具组合 (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 <


6834

被折叠的 条评论
为什么被折叠?



