python实现图片筛选程序

作者:cheney2000 时间:2021-06-25 07:24:32 

今天因工作需要写了个小程序,用于在图片集中自动抽取需要的照片。该程序只是实现了基本功能,还有很多需要完善的地方,展示出来算是给自己鼓鼓气吧。

该程序应用有一定特殊条件,因我选择的图片集是工业生产过程中自动拍摄生成的,因而其文件名很有规律,所以便于操作。

程序使用说明:

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)

来源:https://blog.csdn.net/cheney2000/article/details/78244814?utm_source=blogxgwz8

标签:python,图片筛选
0
投稿

猜你喜欢

  • python中subplot大小的设置步骤

    2021-07-30 08:59:37
  • Python SQLite3数据库操作类分享

    2023-08-24 01:04:02
  • Python格式化输出字符串的五种方法总结

    2023-03-30 02:07:42
  • PHP实现登录的Cookie存储方案详解

    2023-05-25 08:45:17
  • Django中modelform组件实例用法总结

    2023-09-28 14:35:49
  • python如何删除字符串最后一个字符

    2022-06-07 14:14:04
  • 超链“确认”对话框confirm

    2008-05-16 11:42:00
  • Python的Asyncore异步Socket模块及实现端口转发的例子

    2023-04-23 13:24:38
  • GIt在pyCharm的详细使用教程记录

    2021-11-21 02:21:05
  • ASP日期格式化函数

    2010-08-08 19:18:00
  • 解析python 中/ 和 % 和 //(地板除)

    2021-04-19 02:05:14
  • 时间序列分析之ARIMA模型预测餐厅销量

    2023-07-09 13:53:59
  • Python图像的增强处理操作示例【基于ImageEnhance类】

    2022-02-12 04:31:46
  •  python中字符串的常见操作总结(二)

    2023-04-08 17:17:35
  • pycharm from lxml import etree标红问题及解决

    2021-12-10 05:55:38
  • 使用python实现对元素的长截图功能

    2023-11-20 10:27:44
  • Python Opencv基于透视变换的图像矫正

    2022-03-13 16:47:14
  • Python eval()函数和ast.literal_eval()的区别你知道吗

    2022-06-26 14:37:55
  • python监控nginx端口和进程状态

    2023-08-25 16:15:13
  • 使用Python实现一个栈判断括号是否平衡

    2022-01-04 02:20:29
  • asp之家 网络编程 m.aspxhome.com