python实现图片筛选程序


Posted in Python onOctober 24, 2018

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

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

程序使用说明:

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 相关文章推荐
python分析nignx访问日志脚本分享
Feb 26 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
python实现全盘扫描搜索功能的方法
Feb 14 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
Python中常见的数制转换有哪些
May 27 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
python 如何区分return和yield
Sep 22 Python
Python 解决空列表.append() 输出为None的问题
May 23 Python
什么是Python装饰器?如何定义和使用?
Apr 11 Python
用pycharm开发django项目示例代码
Oct 24 #Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 #Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 #Python
Python读取系统文件夹内所有文件并统计数量的方法
Oct 23 #Python
Python实现按逗号分隔列表的方法
Oct 23 #Python
Python解析Excle文件中的数据方法
Oct 23 #Python
使用python对excle和json互相转换的示例
Oct 23 #Python
You might like
php str_pad 函数使用详解
2009/01/13 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
面包屑导航详解
2017/12/07 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
vue 动态组件用法示例小结
2020/03/06 Javascript
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
python处理大日志文件
2019/07/23 Python
python能做什么 python的含义
2019/10/12 Python
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
学生逃课检讨书1000字
2014/10/20 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
业务员岗位职责范本
2015/04/03 职场文书
python 命令行传参方法总结
2021/05/25 Python
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS