写在前面:
第一次写博客,仅仅是将自己实现功能的过程和遇到的问题记录下来,因此文章质量难以保障,还请见谅。在这个 过程中遇到了许多问题,如果没有前辈们的分享和记录,我实现功能的过程也将举步维艰,于是将自己遇到的问题记录下来,希望可以帮到有需要的人。
问题描述:
因为要筛选图像数据集,筛选需要根据原图和其标签图从中选择出自己需要的图像数据,因为每张图片要挨个看和找对其对应的标签图,六千张的照片看一会就头疼,还得挨个对应,移动到相应的文件夹,太痛苦了,因此为提高效率写个简单的脚本帮助自己。
开始动手操作:
第一步:显示图片:
因为要在同一界面显示两张图片,因此需要UI界面,这里使用tkinter模块,UI设置如下:
root = tk.Toplevel()
root.title('筛选数据集程序') #窗口标题
root.resizable(False, False) #固定窗口大小
windowWidth = 800 #获得当前窗口宽
windowHeight = 600 #获得当前窗口高
screenWidth,screenHeight = root.maxsize() #获得屏幕宽和高
geometryParam = '%dx%d+%d+%d'%(windowWidth, windowHeight, (screenWidth-windowWidth)/2, (screenHeight - windowHeight)/2)
root.geometry(geometryParam) #设置窗口大小及偏移坐标
root.wm_attributes('-topmost',1)#窗口置顶
因为要提高效率,所以界面粗糙一些,实用即可。这里 遇了一个小问题,
创建UI的时候最开始使用的
root = tk.Tk()
但这里会出现一个问题,好像是窗口不显示还是什么,记不清了,查阅资料,使用
root = Toplevel()
第二步:显示图片:
需要显示两张图片,因为每张图片尺寸不一,因此在显示的时候重置其尺寸,刚开始上下显示太丑了,也不方便筛选,因此改为左右显示:
img2 = Image.open(image_path + all_list[idx])
img2 = img2.r