一、求图像数据集的averageImage(并保存为matlab可用数据格式.mat格式)
import os
import numpy as np
import skimage.io
import skimage.transform
import matplotlib.pyplot as plt
import scipy.io as sio
filepath = r'C:\Users\31893\Desktop\3' # 数据集目录
pathDir = os.listdir(filepath)
a=np.zeros((224,224,3)) #初始化224*224*3的一个矩阵(图片尺寸同意大小为224*224*3)
#遍历数据集目录
for idx in range(len(pathDir)):
filename = pathDir[idx]
#读取图片
img = skimage.io.imread(os.path.join(filepath, filename))
#循环读取每个像素点并累加求和
for i in range(len(img)):
for j in range(len(img[0])):
for k in range(len(img[0][0])):
a[i][j][k]= a[i][j][k]+img[i][j][k]
#循环读取每个像素点并求平均值
for i in range(len(a)):
for j in range(len(a[0])):
for k in range(len(a[0][0])):
a[i][j][k]= a[i][j][k]/len(pathDir)
#将矩阵重新转换成图片并输出展示
skimage.io.imshow(img)
plt.show()
sio.savemat( 'F:/mvas3/c.mat',{'averageImage':a})#保存.mat格式
print(a)#打印图片数组
二、批量重命名文件夹内容,不够四位,以补零方式填充。
import os
class BatchRename():
'''
批量重命名文件夹中的图片文件
'''
def __init__(self):
self.path = r'C:\Users\31893\Desktop\Zy9Xg3TdZJk.001.mp4' #表示需要命名处理的文件夹
def rename(self):
filelist = os.listdir(self.path) #获取文件路径
total_num = len(filelist) #获取文件长度(个数)
i = 1 #表示文件的命名是从1开始的
for item in filelist:
if item.endswith('.jpg'): #初始的视频的格式为jpg格式的
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(self.path), ''+str(i).zfill(4) + '.jpg')
try:
os.rename(src, dst)
print ('将 %s 重命名为: %s ...' % (src, dst))
i = i + 1
except:
continue
print ('总共重命名 %d 个文件' % total_num)
if __name__ == '__main__':
demo = BatchRename()
demo.rename()