代码功能概述
这段代码实现了一个图片处理工具,用于在指定文件夹内的图片中识别二维码,并在识别到二维码的位置覆盖一张指定的图片。它使用pyzbar库来解码二维码,PIL库来处理图片,tqdm库来显示处理进度。代码开头打印了作者相关信息,并且程序支持用户多次运行,每次运行可以处理不同文件夹下的图片。
用户操作步骤
- 运行程序:启动代码后,程序首先会打印作者相关信息。
- 输入图片文件夹路径:程序提示“请输入图片所在文件夹路径”,用户需输入包含待处理图片的文件夹路径,该文件夹内的
.jpg、.gif、.jpeg、.png格式图片会被处理。 - 输入覆盖图片路径:接着程序提示“请输入覆盖图片路径”,用户要提供用于覆盖在二维码位置的图片路径。
- 处理图片:程序会遍历指定文件夹内的图片,识别其中的二维码。如果识别到二维码,就在二维码所在位置覆盖指定的图片,处理后的图片仍以
PNG格式保存在原路径,同时会在控制台显示处理进度。处理完成后,提示“All images processed successfully.”和“Program execution ended.”。 - 决定是否继续:程序最后询问“是否要继续运行程序?(y/n): ”,若用户输入
y,则可重复上述步骤处理其他文件夹的图片;若输入其他字符,程序终止运行。
对子文件夹及穿透情况
代码使用os.listdir函数获取指定文件夹内的文件列表,这意味着该程序仅对指定文件夹内的图片进行处理,不会穿透到子文件夹。若要处理子文件夹中的图片,需手动输入包含子文件夹的上级文件夹路径,或者修改代码以支持遍历子文件夹。
实例验证
假设存在以下文件夹及文件结构:
主文件夹
│
├── img1.jpg (含二维码)
├── img2.png (不含二维码)
├── 文件夹 A
│ ├── img3.jpg (含二维码)
│ └── img4.png (不含二维码)
└── overlay.png (用于覆盖的图片)
- 运行程序后,输入主文件夹路径作为图片所在文件夹路径,输入
overlay.png路径作为覆盖图片路径。 - 程序会处理主文件夹中的
img1.jpg和img2.png,在img1.jpg的二维码位置覆盖overlay.png图片,而img2.png因不含二维码不做处理。由于程序不穿透子文件夹,文件夹A中的img3.jpg和img4.png不会被处理。 - 处理完成后,提示处理成功信息,若用户选择继续运行程序,可再次输入不同的文件夹路径和覆盖图片路径进行新一轮的图片处理。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 701-以文件名创建文件夹排除(1)序列将同名文件移入(支持穿透子孙文件夹)
- 714-批量按指定数量分割源文件夹下文件到目标文件夹下
- 730-随机分配源目录下所有文件到目标文件夹下的各一级文件夹内-可指定每个文件夹分配多少个文件
- 765-批量删除指定文件夹下文件和文件夹名中指定的字符或符号
- 768-以文件中关键词创建文件夹并把包含该关键词的文件移动到该文件夹
- 779-批量删除指定文件夹下指定名称的文件-包含子孙文件夹下指定文件名称
- 785-批量重命指定文件夹内所有文件-指定名称+数字序列…形式
- 453-批量删除pdf中包含二维码的注释-(只处理注释)
- Windows 启用长路径支持
- 10084-批量解压7z分卷-【支持带密码的分卷-子文件夹穿透】【不支持多层嵌套分卷】




还没有评论,来说两句吧...