import datetime
start=datetime.datetime.now()
import os
path='F:\\timit-all-files\\data\\mergin\\plp\\'
#其中一个灰度图的路径,文件名以png结尾,这里我的三个灰度图分别在三个文件中,并且文件名类似,规律如下:第一个文件夹中文件名name,第二个:name(1),name(2)
def get_filelist(dir):#这个是遍历文件夹的函数,最后的Filelist包含了文件的绝对路径
Filelist = []
for home, dirs, files in os.walk(path):
for filename in files:
# 文件名列表,包含完整路径
Filelist.append(os.path.join(home, filename))
# # 文件名列表,只包含文件名
# Filelist.append( filename)
return Filelist
# 三通道合并
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
if __name__ == "__main__":
Filelist = get_filelist(dir)
print(len(Filelist))
print(Filelist)
for file in Filelist:
# print(file)
res = file.split('\\')
plp_img_Name=res[-1]
without_png=plp_img_Name.strip('.png')
print('without_png name',without_png)
try:
img = Image.open(f'{path}{plp_img_Name}')
img1=Image.open(f'F:\\timit-all-files\\data\\mergin\\\delta\\{without_png}'+'(1).png')
img2=Image.open(f'F:\\timit-all-files\\data\\mergin\\\delta-delta\\{without_png}'+'(2).png')
new=Image.merge('RGB',[img,img1,img2])
print('new',new)
new.save(f'F:\\timit-all-files\\data\\mergin\\new\\{plp_img_Name}')
except FileNotFoundError as e:#这里是如果没有在三个文件当中找到同名的文件,就打印出来错误信息
print(e)
# print(newFrontFileName)
# print(oldName)
其实个人的代码写的挺菜的,