import os import numpy as np from PIL import Image

获取所有子目录

def get_subdirs(root_dir): subdirs = [] for dirpath, dirnames, filenames in os.walk(root_dir): for dirname in dirnames: subdir = os.path.join(dirpath, dirname) subdirs.append(subdir) return subdirs

加载图片并转换为numpy数组

def load_image(image_path): image = Image.open(image_path) image = image.convert('L') # 转换为灰度图像 image_data = np.array(image) return image_data

将numpy数组保存为图片

def save_image(image_data, save_path): image = Image.fromarray(image_data) image.save(save_path)

获取特征图乘积

def get_feature_product(feature_dirs): for feature_dir in feature_dirs: subdirs = get_subdirs(feature_dir) for subdir in subdirs: save_dir = os.path.join('D:/论文代码/特征图乘积', os.path.relpath(subdir, feature_dir)) if not os.path.exists(save_dir): os.makedirs(save_dir) filenames = os.listdir(subdir) feature_product = None # 将特征图乘积初始化为None for i in range(len(filenames)): filename = filenames[i] feature = load_image(os.path.join(subdir, filename)) if i == 0: feature_product = feature else: feature_product *= feature save_path = os.path.join(save_dir, filename) save_image(feature_product, save_path) print('特征图乘积已保存至D:/论文代码/特征图乘积')

对应的特征图进行特征图相乘

if name == 'main': feature_dirs = ['D:/论文代码/spectrograms', 'D:/论文代码/语谱图', 'D:/论文代码/MFCC'] get_feature_product(feature_dirs

import librosaimport librosadisplayimport matplotlibpyplot as pltimport osfrom PIL import Imageimport numpy as np# 设置数据集路径和语谱图保存路径dataset_path = D论文代码casia汉语情感语料库spectrogram_path = D论文代码语谱图# 遍历数据集中各个子

原文地址: https://www.cveoy.top/t/topic/dRlz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录