python实现图片筛选程序
今天因工作需要写了个小程序,用于在图片集中自动抽取需要的照片。该程序只是实现了基本功能,还有很多需要完善的地方,展示出来算是给自己鼓鼓气吧。
该程序应用有一定特殊条件,因我选择的图片集是工业生产过程中自动拍摄生成的,因而其文件名很有规律,所以便于操作。
程序使用说明:
1.需要Python编辑器来运行该程序,而且需要将程序文件和需要的几个文件夹和.csv文件放在同一目录下,这样运行速度比较快
2.文件夹original_el用于存放所有原始图片集,picked_el用于存放找到的图片,sn.csv文件用于存放需要查找图片的名称
程序如下:
#_*_coding:utf-8_*_ ''' VersionV17.1.0 Date2017-10-15 @AuthorCheney ''' #收集EL图片集中需要的图片,在elpick目录下进行 fromPILimportImage importcsv importos #获取需要图片的文件名 defreadImageName(): #在elpick目录下读取sn.scv文件,该文件读取出来后元素是list需要转换为str get_csv=csv.reader(open("elpick/sn.csv")) origSN=[] transSN=[] forsninget_csv: origSN.append(sn) tempList=origSN #读取csv文件获时获取到的列表,其元素也是列表,需要将其转换为字符串元素,使用下面for语句实现 forsintempList: #去掉列表元素中的['']这几个字符 s=str(s).strip('[\'') s=str(s).strip('\']') transSN.append(s) ImageName=transSN returnImageName pickImageName=readImageName() #遍历所有图片集的文件名 forimageinos.listdir("elpick/original_el"): #将读取到的文件名进行处理,去扩展名,若是int文件名需要对文件名进行int处理 imageName=image.strip(".jpg") #比较判断若遍历的文件名在需要收集的列表中,读取之后并保存到pick_el文件夹下 ifimageNameinpickImageName: pickImage=Image.open(('elpick/original_el/%s.jpg')%imageName) pickImage.save(("elpick/picked_el/%s.jpg")%imageName)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。