来龙去脉交代一下
大概是这周二吧,我微信收到一个粉丝求助,内容是这样:
粉丝他在github上找到别人写好的图片分类工具,这个软件工具支持预览图片,并将图片移动到指定目录或复制到其他目录,继而实现图片的分类整理。
但是这个图片分类软件功能不够强,不支持批量图片复制/移动。
所以找我帮忙,在这个代码基础上,改进一下,增加批量图片复制/移动功能。
我看了github源代码,大致过了一遍代码,总结发现:
- 使用Python实现图形化工具,主要用到TKinter GUI库 + PIL图像图处理模块
- 代码写的有些麻烦,功能不多,写了四百多行代码,其实用不上这么代码;源码有一定挺好的,注释比较全
- 最后,代码不够灵活,做不同的图片分类,都要改代码!
所以我打算自己实现一个图片分类小工具,供大家学习实用!
图片分类工具介绍
图片分类工具,简单概况就是对图片进行分类整理,对一个文件夹下的图片,归类到不同的子文件夹下。
该软件工具在有些工作场景下,还是蛮实用的,提升工作效率!
图片分类工具原型设计,Python代码实现过程
图片分类整理软件工具算上原型设计和Python代码实现,用了小半天时间,期间还玩了两把英雄联盟。
图片分类小工具的需求
- 支持图片预览
- 支持不同图片来回切换
- 支持图片移动,复制,同时支持批量图片移动、复制
图片分类工具原型设计
实用axure工具,基于上述功能需求,做了一个简易的原型demo:
![a57051a8d011f37afa4769c581587923.png](https://i-blog.csdnimg.cn/blog_migrate/f426266f209ffbc0ffb274372396a341.jpeg)
描述一下软件原型:
- 软件结构:上,中、下三层结构:上是工具菜单,中是主界面,下是状态栏;
- 工具菜单:包括打开文件夹,添加目录,移动,复制;打开文件夹是打开图片文件夹,添加目录是指添加多个分类目录等;
- 主界面:由左右两部分组成,左侧是图片预览区,右侧是操作区;
- 状态栏:显示图片数量,以及当前软件工作模式,是移动还是复制;
图片分类工具,Python代码实现
图片分类工具全功能实现,一共写了240多行Python代码(算全部注释)
主要用到Tkinter GUI框架和PIL图像处理库。
部分代码:
![1d5b57ce9501eb14137cd8a145bff48c.png](https://i-blog.csdnimg.cn/blog_migrate/63fa969c89f73e51fc62be69c1daf80e.jpeg)
Python实现效果:
![6676a2581be0e8b18ecad27aaf1b64a2.png](https://i-blog.csdnimg.cn/blog_migrate/ab06cbe2e67e228c0f0dd98c5a7bf6bf.jpeg)
图片分类工具使用说明
![d61aab0ae2a00d863edb852b2197a774.png](https://i-blog.csdnimg.cn/blog_migrate/38940fb63b99df6d9d788138280f6ebb.jpeg)
- 打开目录:能够加载一个文件夹下图片文件,并显示图片信息,在6图片显示区和9状态栏;
- 添加目录:添加多个分类图片子文件夹
- 复制模式:支持图片复制到其他文件夹,点击后,在9状态栏中会显示对应的工作模式
- 移动模式:支持图片移动到其他文件夹,点击后,在9状态栏中会显示对应的工作模式
- 添加的分类文件夹列表,将图片移动/复制到选中的分类目录
- 图片显示区,点击7 左箭头/右箭头,图片能够前后切换显示
- 图片切换操作区
- 执行图片移动/复制功能
- 状态栏,显示图片加载数量,当前显示第几个图片,以及工作模块
- 使用PyInstaller将源代码打包成可执行文件:
![8699789ce0901fb64039cd025805d3c6.png](https://i-blog.csdnimg.cn/blog_migrate/13e4a4d458a70d48e75dd8c2f9aa4f8a.jpeg)
演示图片归类整理过程(复制)
![1d06ecfa6f40bacde88742022d6c02ab.gif](https://i-blog.csdnimg.cn/blog_migrate/981ac6ebdf9a0e71f7d0e08b2ab3c170.gif)
演示图片归类整理过程(移动)
![fc47842dcdb023afe86927fbbeb5b7ad.gif](https://i-blog.csdnimg.cn/blog_migrate/7f1450d59febc7dadeb4a88710ffd733.gif)
最后
如果想要获得图片分类整理Python源码,快来私信找我吧~