import cv2
import os
import xlrd
import datetime
from xlrd import xldate_as_tuple
import shutil
import re
def panduancolor(path):
pic_path = path
img = cv2.imread(pic_path)
HSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
num_black = 0
num_color = 0
pixel_all_bgr = []
pixel_all_hsv = []
oimage_color_type="Grey Image"
for x in range(img.shape[0]):
for y in range(img.shape[1]):
r,g,b = img[x,y]
hsv = HSV[x,y]
pixel_all_hsv.append(hsv)
for i in pixel_all_hsv:
if 0<=i[0]<26 and 43<=i[1]<=255 and 46<=i[2]<=255:
oimage_color_type = "color Image"
break
else:
continue
return oimage_color_type
def build_dir_name_list(dirct):
dirList=[]
files=os.listdir(dirct)
for f in files:
if os.path.isdir(dirct + '/'+f):
dirList.append(f)
else:
continue
print("文件夹有:",dirList)
return dirList
def build_file_name_list(dirct):
fileList=[]
files=os.listdir(dirct)
for f in files:
if os.path.isfile(dirct + '/'+f):
fileList.append(f)
else:
continue
print("文件有:",fileList)
return fileList
def build_name_list(dirct):
dirList=[]
fileList=[]
files=os.listdir(dirct)
for f in files:
if os.path.isdir(dirct + '/'+f):
dirList.append(f)
elif os.path.isfile(dirct + '/'+f):
fileList.append(f)
print("文件夹有:",dirList)
print("文件有:",fileList)
return dirList,fileList
build_name_list("")
def bgr_get(path):
pic_path = path
img = cv2.imread(pic_path)
pixel_all_bgr = []
for x in range(img.shape[0]):
for y in range(img.shape[1]):
rgb = img[x, y]
pixel_all_bgr.append(rgb)
return pixel_all_bgr
def hsv_get(path):
pic_path = path
img = cv2.imread(pic_path)
HSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
pixel_all_hsv = []
for x in range(img.shape[0]):
for y in range(img.shape[1]):
hsv = HSV[x, y]
pixel_all_hsv.append(hsv)
return pixel_all_hsv
'''
关于表格的文件整理库
'''
def delete(path):
if os.path.exists(path):
os.remove(path)
class ExcelData():
def __init__(self, data_path, sheetname):
self.data_path = data_path
self.sheetname = sheetname
self.data = xlrd.open_workbook(self.data_path)
self.table = self.data.sheet_by_name(self.sheetname)
self.keys = self.table.row_values(0)
self.rowNum = self.table.nrows
self.colNum = self.table.ncols
def readExcel(self):
datas = []
for i in range(1, self.rowNum):
sheet_data = {}
for j in range(self.colNum):
c_type = self.table.cell(i,j).ctype
c_cell = self.table.cell_value(i, j)
if c_type == 2 and c_cell % 1 == 0:
c_cell = int(c_cell)
elif c_type == 3:
date = datetime.datetime(*xldate_as_tuple(c_cell,0))
c_cell = date.strftime('%Y/%d/%m %H:%M:%S')
elif c_type == 4:
c_cell = True if c_cell == 1 else False
sheet_data[self.keys[j]] = c_cell
datas.append(sheet_data)
return datas
dirlist = build_dir_name_list('../待处理文件')
mask = re.compile(r'[_](.*?)[_]', re.S)
for name in dirlist:
a = re.sub(mask, "", name)
os.rename(name, a)
def replaceDirName(rootDir):
num = 0
dirs = os.listdir(rootDir)
for dir in dirs:
print('oldname is:' + dir)
num = num + 1
temp = "%03d" % int(num)
oldname = os.path.join(rootDir, dir)
newname = os.path.join(rootDir, temp)
os.rename(oldname, newname)