物理の駅 by onsanai

Physics Station → PhSt 質問・疑問・間違いの指摘は、コメントに書くか、直接伝えるときっと良いことがあります。主にWindows or Ubuntu用の記事です

SPNG形式(バイナリ形式で複数の画像を1ファイルに統合した独自形式)のPythonでの読み込み方

諸事情で複数の画像を簡易的に1つのファイルに統合したいことがあり、またそのファイルをPythonから読み込みたい需要があった。

Numpyを使ったバイナリファイルの読み込み方、OpenCVを使ったデコードの仕方などの知識を使う。

import cv2
import numpy as np

# V00000001_L0_VX0001_VY0000_mat0_080.spng&8&426991 とJSONに書いてある場合
f = open("V00000001_L0_VX0001_VY0000_mat0_080.spng", "rb")
data = np.fromfile(f, np.uint8, 426991, "", 8)
dst = cv2.imdecode(data, -1)
cv2.imshow("window", dst)
cv2.waitKey(0)

サンプルデータ

https://1drv.ms/u/s!Ap9xAxIuzM0xvIwQrbCCNQn7km-0Tg?e=EQWVtL