python实现图片筛选程序
作者:cheney2000 发布时间:2021-06-25 07:24:32
标签:python,图片筛选
今天因工作需要写了个小程序,用于在图片集中自动抽取需要的照片。该程序只是实现了基本功能,还有很多需要完善的地方,展示出来算是给自己鼓鼓气吧。
该程序应用有一定特殊条件,因我选择的图片集是工业生产过程中自动拍摄生成的,因而其文件名很有规律,所以便于操作。
程序使用说明:
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实现分页效果展示的具体代码,供大家参考,具体内容如下难点:清空Layout#!/usr/bin/python
- 代码如下: 在ie下,貌似要改安全设置中的【对为标记为可安全执行脚本的ActiveX空间初始化并执行】那项 <html> <
- #region 控件事件 第六步 protected void Button1_Click(object sender, EventArgs
- 这是一家游戏公司,他面试通过后 擅长的机试却没答出来,不过还是被录用了。这道题内容大概这样有条蛇它长度不固定,蛇头朝北顺时针盘旋着,请打印出
- RSA算法RSA算法是一种公钥加密技术,被认为是最安全的加密方式.它是由Rivest,Shamir和Adleman于1978年发明的,因此命
- python 中datetime中strptime用法,具体代码如下所示:import datetimeday20 = datetime.d
- 一、了解字符编码的知识储备1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了
- 需求是需要用python往 SqlServer中的image类型字段中插入二进制图片核心代码,研究好几个小时的代码:安装pywin32,ad
- 引言软件开发经历了许多阶段,如需求收集和分析、设计、软件开发、测试和发布。测试是 SDLC 不可或缺的一部分,单元测试是一种可靠的测试类型。
- 目的在刷算法题中经常遇到关于链表的操作,在使用go语言去操作链表时不熟悉其实现原理,目的是为了重温链表这一基础且关键的数据结构。1、链表的特
- 本文实例讲述了Python实现输出某区间范围内全部素数的方法。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-
- # -*-coding:utf-8-*-import sys, os'''将当前进程fork为一个守护进程注意:如果
- CAS 全称集中式认证服务(Central Authentication Service),是实现单点登录(SSO)的一中手段。CAS 的通
- 理解切片基本用法:首先需要明白,可迭代对象,按照正数索引(正序)是从0开始的,按照负数索引(逆序)是从-1开始的。>>>
- ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间
- 由于javascript是unicode编码的,所有的字符对于它来说一个就是一个,但是后台程序不是,通常在后台程序中一个中文是占两个字节的,
- 观察者模式中的主题对象一般存在着一个其他服务依赖的核心服务,并且维护着其他依赖此核心服务的对象列表(即观察者或监视者列表),当主题对象发生变
- 最近接触到微服务框架go-zero,翻看了整个框架代码,发现结构清晰、代码简洁,所以决定阅读源码学习下,本次阅读的源码位于core/sync
- 一、前言前文是针对普通的字符串数据进行处理。今天,我们要讲解的textwrap库,是对多文本进行处理的库。比如对于段落的缩进,填充,截取等,
- 一、多进程的实现方法一# 方法包装 多进程from multiprocessing import Processfrom ti