SpatialPhoto-Sampler は、iOS デバイス上でステレオペア画像から空間写真を生成・表示するための SwiftUI アプリケーションです。Vision Pro などの空間コンピューティングデバイスで立体視可能な HEIC 形式の空間写真を作成できます。
- 空間写真(HEIC ファイル)を左右の画像に分割して表示
- 複数の表示モード:
- サイドバイサイド(水平)
- サイドバイサイド(垂直)
- オーバーレイ
- スライド(モーションセンサー対応)
- 左右の画像から空間写真を生成
- 単一画像の自動分割機能
- 写真ライブラリへの保存
- プラットフォーム: iOS
- 言語: Swift
- フレームワーク: SwiftUI
- 最小対応バージョン: iOS 18.0(空間メディア機能)
空間写真の生成を担当するコアクラス。左右の画像と空間メタデータから HEIC 形式の空間写真を作成します。
主要機能:
- ステレオペア画像の処理
- 空間メタデータの埋め込み
- HEIC 形式での出力
空間写真生成用のユーザーインターフェース。
機能:
- 写真ピッカーによる画像選択
- 画像の自動分割
- 空間写真の生成と保存
空間写真の表示・比較用のユーザーインターフェース。
機能:
- 空間写真の読み込み
- 左右画像の分離
- 複数の表示モード
- モーションセンサーによる視差調整
- フォーマット: HEIC
- メタデータ: CGImagePropertyGroups を使用した空間メタデータ
- 立体視: ステレオペア画像による視差情報
- "Split" タブを選択
- "Pick Spatial Image" で空間写真を選択
- ツールバーのアイコンで表示モードを切り替え
- "Generate" タブを選択
- 左右の画像を個別に選択、または単一画像を選択
- "空間写真を生成する" をタップ
SpatialPhoto/
├── SpatialPhotoApp.swift # アプリエントリーポイント
├── Views/
│ ├── Generate/
│ │ └── GenerateSplitView.swift # 空間写真生成UI
│ └── Split/
│ └── SplitSpatialPhotoView.swift # 空間写真表示UI
└── Helpers/
├── SpatialPhotoConverter.swift # 空間写真変換エンジン
├── Data+Spatial.swift # 空間写真データ拡張
├── Data+ImageFormat.swift # 画像フォーマット拡張
├── Data+Temp.swift # 一時ファイル処理
└── MotionManager.swift # モーションセンサー管理
- 写真ライブラリアクセス: 空間写真の読み込み・保存
- モーションセンサー: デバイス傾きによる視差調整
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE.md をご覧ください。
バグ報告や機能改善の提案は、GitHub Issues でお知らせください。
Created by fromkk