帮粉丝制作一个软件小工具,使用Python实现图片分类工具

来龙去脉交代一下

大概是这周二吧,我微信收到一个粉丝求助,内容是这样:

粉丝他在github上找到别人写好的图片分类工具,这个软件工具支持预览图片,并将图片移动到指定目录或复制到其他目录,继而实现图片的分类整理。

但是这个图片分类软件功能不够强,不支持批量图片复制/移动。

所以找我帮忙,在这个代码基础上,改进一下,增加批量图片复制/移动功能。

我看了github源代码,大致过了一遍代码,总结发现:

  1. 使用Python实现图形化工具,主要用到TKinter GUI库 + PIL图像图处理模块
  2. 代码写的有些麻烦,功能不多,写了四百多行代码,其实用不上这么代码;源码有一定挺好的,注释比较全
  3. 最后,代码不够灵活,做不同的图片分类,都要改代码!

所以我打算自己实现一个图片分类小工具,供大家学习实用

图片分类工具介绍

图片分类工具,简单概况就是对图片进行分类整理,对一个文件夹下的图片,归类到不同的子文件夹下。

该软件工具在有些工作场景下,还是蛮实用的,提升工作效率!

图片分类工具原型设计,Python代码实现过程

图片分类整理软件工具算上原型设计和Python代码实现,用了小半天时间,期间还玩了两把英雄联盟。

图片分类小工具的需求

  1. 支持图片预览
  2. 支持不同图片来回切换
  3. 支持图片移动,复制,同时支持批量图片移动、复制

图片分类工具原型设计

实用axure工具,基于上述功能需求,做了一个简易的原型demo:

描述一下软件原型:

  1. 软件结构:上,中、下三层结构:上是工具菜单,中是主界面,下是状态栏;
  2. 工具菜单:包括打开文件夹,添加目录,移动,复制;打开文件夹是打开图片文件夹,添加目录是指添加多个分类目录等;
  3. 主界面:由左右两部分组成,左侧是图片预览区,右侧是操作区;
  4. 状态栏:显示图片数量,以及当前软件工作模式,是移动还是复制;

图片分类工具,Python代码实现

图片分类工具全功能实现,一共写了240多行Python代码(算全部注释)

主要用到Tkinter GUI框架和PIL图像处理库。

部分代码:

Python实现效果:

图片分类工具使用说明

  1. 打开目录:能够加载一个文件夹下图片文件,并显示图片信息,在6图片显示区和9状态栏;
  2. 添加目录:添加多个分类图片子文件夹
  3. 复制模式:支持图片复制到其他文件夹,点击后,在9状态栏中会显示对应的工作模式
  4. 移动模式:支持图片移动到其他文件夹,点击后,在9状态栏中会显示对应的工作模式
  5. 添加的分类文件夹列表,将图片移动/复制到选中的分类目录
  6. 图片显示区,点击7 左箭头/右箭头,图片能够前后切换显示
  7. 图片切换操作区
  8. 执行图片移动/复制功能
  9. 状态栏,显示图片加载数量,当前显示第几个图片,以及工作模块
  • 使用PyInstaller将源代码打包成可执行文件:

演示图片归类整理过程(复制)

演示图片归类整理过程(移动)

最后

如果想要获得图片分类整理Python源码,快来私信找我吧~

欢迎投稿本站:紫金网 » 帮粉丝制作一个软件小工具,使用Python实现图片分类工具