基于Python的工业图片自动筛选程序实现
本文介绍了一款使用Python编写的图片自动筛选小程序,旨在从大量工业拍摄图片中快速提取目标照片。程序通过读取CSV文件获取目标文件名列表,利用PIL库遍历原始图片集,并将匹配成功的图片保存至指定目录。该方法适用于文件名具有规律性的工业场景,代码简洁且运行高效,为自动化图像处理提供了实用参考。
出于实际工作需求,我编写了一个小型程序,用于从图片集合中自动抽取所需的照片。该程序目前仅实现了基础功能,仍有诸多方面需要优化和完善,在此分享出来,既是记录也是自我鼓励。
该程序的运行依赖于特定的前置条件。由于所选用的图片集是在工业生产流程中自动拍摄生成的,其文件名呈现出明显的规律性,这使得程序的操作和匹配变得相对便捷。
以下是程序的具体使用说明:
1. 运行该程序需要Python编辑环境。为确保运行速度较快,需将程序文件、所需的几个文件夹以及.csv文件放置在同一目录路径下。
2. 目录结构说明:文件夹original_el用于存放所有原始图片;picked_el用于存放筛选后找到的图片;sn.csv文件则用于存储需要查找的图片名称列表。
程序核心代码如下:
#_*_coding:utf-8_*_
'''
Version V17.1.0
Date 2017-10-15
@Author Cheney
'''
# 收集EL 图片集中需要的图片,在elpick目录下进行
from PIL import Image
import csv
import os
# 获取需要图片的文件名
def readImageName():
# 在elpick目录下读取sn.scv文件,该文件读取出来后元素是list 需要转换为str
get_csv = csv.reader(open("elpick/sn.csv"))
origSN = []
transSN = []
for sn in get_csv:
origSN.append(sn)
tempList = origSN
# 读取csv文件获时获取到的列表,其元素也是列表,需要将其转换为字符串元素,使用下面for语句实现
for s in tempList:
# 去掉列表元素中的[''] 这几个字符
s = str(s).strip('[\'')
s = str(s).strip('\']')
transSN.append(s)
ImageName = transSN
return ImageName
pickImageName = readImageName()
# 遍历所有图片集的文件名
for image in os.listdir("elpick/original_el"):
# 将读取到的文件名进行处理,去扩展名,若是int文件名需要对文件名进行int 处理
imageName = image.strip(".jpg")
# 比较判断 若遍历的文件名在需要收集的列表中,读取之后并保存到pick_el文件夹下
if imageName in pickImageName:
pickImage = Image.open(('elpick/original_el/%s.jpg') % imageName)
pickImage.save(("elpick/picked_el/%s.jpg") % imageName)
以上就是本文的全部内容,希望能为各位的学习提供些许帮助,也欢迎大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













