对三维的npy文件进行切片操作(三个方向)

脚本读取npy文件,按行(宽度)切片,保存为灰度PNG,用于深度学习数据预处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        for i in range(width):
            slice_data = npy_data[i, :, :]

可以对三个方向(从上到下、从前到后和从左到右)完成对npy文件的切片操作。

完整代码如下:

import numpy as np
import os
import matplotlib.pyplot as plt
input_base_folder = 'E:\\study\\data\\ToothFairy_Dataset\\ToothFairy_Dataset\\Dataset\\'
output_root_folder = 'E:\\ToothFairy_Dataset\\s_png\\'  # 替换为输出根文件夹路径
# 获取所有的子文件夹
subfolders = [folder for folder in os.listdir(input_base_folder) if
              os.path.isdir(os.path.join(input_base_folder, folder))]
for subfolder in subfolders:
    # 构建 data.npy 的完整路径
    npy_file_path = os.path.join(input_base_folder, subfolder, 'data.npy')
    if os.path.exists(npy_file_path):
        # 从NPY文件加载数据
        npy_data = np.load(npy_file_path)
        # 获取数据的维度
        depth, height, width = npy_data.shape
        print(depth,height,width)
        # 从文件夹名中获取目标部分
        desired_part = subfolder
        # 创建输出子文件夹
        output_folder = os.path.join(output_root_folder, desired_part)
        os.makedirs(output_folder, exist_ok=True)
        # 按高度(垂直方向)从高到低切片
        for i in range(width):
            slice_data = npy_data[i, :, :]
            # 创建新的输出文件夹路径
            slice_filename = os.path.join(output_folder, f'{i}.png')
            plt.imsave(slice_filename, slice_data, cmap='gray')
print("Slices saved in respective folders.")

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值