import os
import cv2
import numpy as np
import pypinyin
# 读去的文件夹的格式:
# 1.主文件夹-----爆点对比数据1115
# 2.一级文件夹-----文件夹
# 3.图片名称
file_dir = 'E:/3/000000' # 你的文件路径
def hp(word):
s = ''
for i in pypinyin.pinyin(word, style=pypinyin.NORMAL):
s += ''.join(i)
return s
# 获取文件夹名称
for root, dirs, files in os.walk(file_dir): # 获取一级目录下的文件名称
# print('root_dir:', root) # 当前路径
# print('sub_dirs:', dirs) # 子文件夹
# print('files:', files) # 文件名称,返回list类型
for x in dirs:
paths1 = file_dir + '/' + x
for root, dirs, files in os.walk(paths1): # 获取二级目录下的文件名称
for x in dirs:
paths2 = paths1 + '/' + x
for root, dirs, files in os.walk(paths2): # 获取三级目录下的文件名称
for x in dirs:
paths3 = paths2 + '/' + x
for root, dirs, files in os.walk(paths3): # 获取四级目录下的文件名称
for x in dirs:
paths = paths3 + '/' + x
# 获取文件的里面 “bmp” 文件名称
for _, _, name in os.walk(paths):
for y in name:
if 'tiff' in y:
path1 = paths + '/' + y
cv_img = cv2.imdecode(np.fromfile(path1, dtype=np.uint8), -1)
# 定义保存图片路径和图片名称
newPath = 'E:/3Dmoxing/1116-1-bu/' + hp(path1.split('/')[-5]) + '_' + hp(path1.split('/')[-4]) \
+ '_' + hp(path1.split('/')[-3]) + '_' + \
hp(path1.split('/')[-2]) + '_' + path1.split('/')[-1]
cv2.imencode('.tiff', cv_img)[1].tofile(newPath)