主要功能:批量裁剪图片中的圆形区域(例如徽章、圆形图标),并将其保存为独立的方形图片。

这是一个使用 Tkinter 构建的图形用户界面 (GUI) 工具,结合了 OpenCV 库进行图像处理。

主要功能总结:


选择一个包含很多张图片的文件夹(输入文件夹)。

程序会自动将这个文件夹里的所有图片(jpg, jpeg, png格式)按顺序重命名(例如:1.jpg, 2.jpg, 3.jpg...)。

用户再选择一个用于存放结果的文件夹(输出文件夹)。

用户可以设置一些参数,如“处理超时时间”和“外扩像素值”。

点击“开始批量裁剪”后,程序会逐一处理输入文件夹中的每张图片:

使用图像识别技术(OpenCV的霍夫圆变换)来自动检测图片中的圆形物体。

如果检测到圆形,就会以这个圆形为中心,裁剪出一个方形区域。

用户可以设置“外扩像素值”,让裁剪的范围比检测到的圆形稍大一些,以保留边缘。

将裁剪出的方形图片保存到输出文件夹中。

整个处理过程是自动化的,用户可以随时“停止”处理。

核心特点分析:

图形用户界面 (GUI):

使用 Tkinter 库创建,界面清晰易用。

包含文件夹选择、参数设置(超时、外扩像素)、开始/停止按钮、状态栏、进度显示和详细的执行日志。

核心图像处理功能:

使用 cv2 (OpenCV) 库进行核心的图像处理。

通过 cv2.HoughCircles 函数来智能识别图片中的圆形轮廓。

为了提高识别成功率,代码会先尝试在缩小后的图片上检测,如果失败,会再尝试在原图上检测。

支持裁剪后向外扩展指定像素(Padding),避免圆形边缘被切掉。

批量处理与自动化:

自动重命名:在处理前,会自动将输入文件夹中的图片文件统一按数字顺序重命名,方便管理。

批量裁剪:能够自动处理文件夹内的所有图片,无需用户一张张操作。

高稳定性和用户体验:

多线程处理 (threading): 将耗时的图像处理任务放在一个单独的线程中运行,这样即使用户在处理大量图片时,主界面也不会卡死,用户可以随时操作窗口或点击“停止”按钮。

超时机制: 为每张图片的处理设置了一个超时时间(默认为60秒)。如果某张图片处理时间过长(可能因为图片复杂或程序出错),会自动跳过,避免整个任务卡住。

实时反馈: 界面会实时显示当前正在处理的文件名、总进度(已完成/总数)、成功/失败/超时统计,并在下方的日志框中输出详细的处理记录和耗时。

中文路径支持: 代码特别处理了文件路径中包含中文的情况,确保在读取和保存文件时不会因为中文路径而出错。

总而言之,这是一个非常实用的小工具,专门用于自动化地从大量图片中提取圆形徽章或图标,极大地提高了处理效率。


点赞(0)

评论列表 共有 0 条评论

暂无评论

微信号:snaptu

添加微信咨询

发表
评论
返回
顶部