OpenEXR は、映画業界のプロ仕様の画像ストレージ形式である EXR ファイル形式の仕様とリファレンス実装を提供します。
EXR 形式の目的は、マルチパート、マルチチャネルのユースケースを強力にサポートしながら、ハイ ダイナミック レンジのシーンリニア イメージ データと関連メタデータを正確かつ効率的に表現することです。
OpenEXR は、フォトリアリスティック レンダリング、テクスチャ アクセス、画像合成、ディープ合成、DI など、精度が重要となるホスト アプリケーション ソフトウェアで広く使用されています。
OpenEXR プロジェクトの目標は、EXR 形式の信頼性と最新性を維持し、エンターテインメント コンテンツ作成に推奨される画像形式としての地位を維持することです。
大きな改訂は頻繁に行われないため、新機能は複雑さの増加と慎重に比較検討されます。 プロジェクトの主な優先事項は次のとおりです。
堅牢性、信頼性、セキュリティ
下位互換性、データの寿命
パフォーマンス - 読み取り/書き込み/圧縮/解凍時間
シンプルさ、使いやすさ、保守性
幅広い採用、マルチプラットフォームのサポート - Linux、Windows、macOS など
OpenEXR は 2D データのみを対象としています。これは、ボリューム データ、キャッシュされた 3D シーンまたは照明された 3D シーン、またはライト フィールドなどのより複雑な 3D データの保存には適していません。
Imath プロジェクトの目標は、シンプルさ、使いやすさ、正確性と検証可能性、そして幅広い採用です。 Imath は、包括的な線形代数または数値解析パッケージを意図したものではありません。
OpenEXR は、Academy Software Foundation のプロジェクトです。詳細については、プロジェクトのガバナンス ポリシー、貢献ガイドライン、および行動規範を参照してください。
詳細については技術ドキュメントを参照してください。まず、「Hello, world」 exrwriter.cpp
ライター プログラムは次のとおりです。
#include <ImfRgbaFile.h> #include <ImfArray.h> #include <iostream> int main() { try { int width = 10; int height = 10; Imf::Array2D<Imf::Rgba> pixels(width, height); for (int y=0; y<height; y++) for (int x=0; x<width; x++) pixels[y][x] = Imf::Rgba(0, x / (width-1.0f), y / (height-1.0f)); Imf::RgbaOutputFile file ("hello.exr", width, height, Imf::WRITE_RGBA); file.setFrameBuffer (&pixels[0][0], 1, width); file.writePixels (height); } catch (const std::exception &e) { std::cerr << "Unable to read image file hello.exr:" << e.what() << std::endl; return 1; } return 0; }
構築するCMakeLists.txt
:
cmake_minimum_required(VERSION 3.12) project(exrwriter) find_package(OpenEXR REQUIRED) add_executable(${PROJECT_NAME} exrwriter.cpp) target_link_libraries(${PROJECT_NAME} OpenEXR::OpenEXR)
構築するには:
$ cmake -S . -B _build -DCMAKE_PREFIX_PATH=<path to OpenEXR libraries/includes> $ cmake --build _build
詳細については、「OpenEXR API」を参照してください。
質問してください:
電子メール: [email protected]
Slack: academysoftwarefdn#openexr
会議に出席します。
技術運営委員会の会議は、隔週木曜日午後 1 時 30 分 (太平洋時間) に一般公開されます。
カレンダー: https://lists.aswf.io/g/openexr-dev/calendar
会議メモ: https://wiki.aswf.io/display/OEXR/TSC+Meetings
バグを報告する:
問題を送信する: https://github.com/AcademySoftwareFoundation/openexr/issues
セキュリティの脆弱性を報告します。
[email protected] に電子メールを送信してください
修正、機能、または改善に貢献します。
貢献ガイドラインと行動規範を読む
コントリビューターライセンス契約に署名する
プル リクエストを送信します: https://github.com/AcademySoftwareFoundation/openexr/pulls
ウェブサイト: http://www.openexr.com
技術ドキュメント: https://openexr.readthedocs.io
移植ヘルプ: OpenEXR/Imath バージョン 2.x から 3.x 移植ガイド
参考画像:https://github.com/AcademySoftwareFoundation/openexr-images
セキュリティポリシー: SECURITY.md
リリースノート: CHANGES.md
寄稿者: CONTRIBUTORS.md
OpenEXR は、BSD-3-Clause ライセンスに基づいてライセンスされています。