You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:按相同UTC时间戳合并图像numpy数组的实现方法

按UTC时间戳分组求和图像数组

图像文件列表格式

[utc1_1.tga, utc1_2.tga, utc1_3.tga, utc1_4.tga,
 utc2_1.tga, utc2_2.tga, utc2_3.tga, utc2_4.tga,
 utc3_1.tga, utc3_2.tga, utc3_3.tga, utc3_4.tga,..]

现有时间戳提取问题

你原本尝试用以下代码提取时间戳:

images = list(sorted([int(name.split('_')[0]) for name in directory_files]))

但这段代码会报错,因为name.split('_')[0]得到的是utc1这类带字母的字符串,无法直接转换为整数。正确的做法是从标识中分离出数字部分,比如从utc1提取1。

需求目标

将已转为numpy数组的图像按相同UTC时间戳分组,对每组内的数组执行求和操作。

现有代码片段

import cv2
from numpy import asarray
from multiprocessing import Process
import glob
from PIL import Image

images = glob.glob(f"{directory_files}*.tga")
for img_name in images:
    with open(img_name, 'rb') as ldr:
        print(img_name)
        image = Image.open(ldr)
        data = asarray(image)
        print(data.shape)

# images = list(sorted([int(name.split('_')[0]) for name in directory_files]))
# print(images)

# same_utc_arrays = 
# np.sum(same_utc_arrays)

解决方案代码

以下代码实现按UTC时间戳分组求和:

import glob
import numpy as np
from PIL import Image

# 替换为你的实际目录路径
directory_files = "./"

# 用字典存储各UTC分组的求和结果
utc_sum_dict = {}

# 遍历所有TGA文件
for img_path in glob.glob(f"{directory_files}*.tga"):
    # 提取UTC标识(如从utc1_1.tga中得到'utc1')
    # 处理路径分隔符,确保只取文件名部分的UTC标识
    utc_key = img_path.split('_')[0].split('/')[-1]
    
    # 读取图像并转为numpy数组
    with open(img_path, 'rb') as f:
        img = Image.open(f)
        img_array = np.asarray(img)
    
    # 累加数组到对应分组
    if utc_key in utc_sum_dict:
        utc_sum_dict[utc_key] += img_array
    else:
        utc_sum_dict[utc_key] = img_array.copy()

# 输出结果示例
for utc, sum_array in utc_sum_dict.items():
    print(f"UTC {utc} 的求和数组形状: {sum_array.shape}")
    # 如需保存结果图像,可取消以下注释
    # sum_img = Image.fromarray(sum_array)
    # sum_img.save(f"{utc}_sum.tga")

说明

  • 用字典utc_sum_dict以UTC标识为键,存储对应分组的累加数组
  • 处理路径时兼容不同系统的分隔符,确保正确提取UTC标识
  • 若需按数字顺序输出分组,可将utc_key转换为整数(如int(utc_key[3:]))后排序

内容的提问来源于stack exchange,提问作者SkyImager

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 06:25:19