基于Python的工业图片自动筛选程序实现

林见深
林见深
发布时间:2026-10-12| 1人浏览过
原创

本文介绍了一款使用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)

以上就是本文的全部内容,希望能为各位的学习提供些许帮助,也欢迎大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。