python實(shí)現(xiàn)圖片篩選程序
今天因工作需要寫了個(gè)小程序,用于在圖片集中自動(dòng)抽取需要的照片。該程序只是實(shí)現(xiàn)了基本功能,還有很多需要完善的地方,展示出來(lái)算是給自己鼓鼓氣吧。
該程序應(yīng)用有一定特殊條件,因我選擇的圖片集是工業(yè)生產(chǎn)過(guò)程中自動(dòng)拍攝生成的,因而其文件名很有規(guī)律,所以便于操作。
程序使用說(shuō)明:
1. 需要Python編輯器來(lái)運(yùn)行該程序, 而且需要將程序文件和需要的幾個(gè)文件夾和.csv文件放在同一目錄下,這樣運(yùn)行速度比較快
2. 文件夾original_el 用于存放所有原始圖片集,picked_el 用于存放找到的圖片, sn.csv文件用于存放需要查找圖片的名稱
程序如下:
#_*_coding:utf-8_*_
'''
Version V17.1.0
Date 2017-10-15
@Author Cheney
'''
# 收集EL 圖片集中需要的圖片,在elpick目錄下進(jìn)行
from PIL import Image
import csv
import os
# 獲取需要圖片的文件名
def readImageName():
# 在elpick目錄下讀取sn.scv文件,該文件讀取出來(lái)后元素是list 需要轉(zhuǎn)換為str
get_csv = csv.reader(open("elpick/sn.csv"))
origSN = []
transSN = []
for sn in get_csv:
origSN.append(sn)
tempList = origSN
# 讀取csv文件獲時(shí)獲取到的列表,其元素也是列表,需要將其轉(zhuǎn)換為字符串元素,使用下面for語(yǔ)句實(shí)現(xiàn)
for s in tempList:
# 去掉列表元素中的[''] 這幾個(gè)字符
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"):
# 將讀取到的文件名進(jìn)行處理,去擴(kuò)展名,若是int文件名需要對(duì)文件名進(jìn)行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)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python?Pandas之DataFrame索引及選取數(shù)據(jù)
這篇文章主要介紹了python?Pandas之DataFrame索引及選取數(shù)據(jù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07
使用python編寫腳本獲取手機(jī)當(dāng)前應(yīng)用apk的信息
使用aapt工具獲取apk的信息,保存至腳本所在目錄下的PackageInfo.txt文件中,需要的朋友可以參考下2014-07-07
利用Python第三方庫(kù)實(shí)現(xiàn)預(yù)測(cè)NBA比賽結(jié)果
今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著利用Python實(shí)現(xiàn)預(yù)測(cè)NBA比賽結(jié)果展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06
python使用xlrd實(shí)現(xiàn)檢索excel中某列含有指定字符串記錄的方法
這篇文章主要介紹了python使用xlrd實(shí)現(xiàn)檢索excel中某列含有指定字符串記錄的方法,涉及Python使用xlrd模塊檢索Excel的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05
Python使用re模塊實(shí)現(xiàn)正則表達(dá)式操作指南
在Python中需要通過(guò)正則表達(dá)式對(duì)字符串進(jìn)?匹配的時(shí)候,可以使??個(gè)python自帶的模塊,名字為re,下面這篇文章主要給大家介紹了關(guān)于Python使用re模塊實(shí)現(xiàn)正則表達(dá)式操作的相關(guān)資料,需要的朋友可以參考下2022-07-07

