問題タブ [openexr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - WindowsでPy ILM Baseがコンパイルされない
最新のOpen EXR リポジトリから最新のコピーをダウンロードし、ほとんどすべてを問題なくコンパイルしました。ただし、PyILMBase に到達すると失敗します。
私の試みには2つの明確な問題があります。
エラー C2491 'PyImath::FixedArray::name': dllimport 関数の定義は許可されていません PyImath (...)\src\pyilmbase-2.2.1\PyImath\PyImath.cpp 41
unistd.h へのインポートは、ここで対処されます
私の質問は、これを Windows 用に正常にコンパイルした人はいますか? そのコンパイルエラーに関する特定の情報が見つからないのは奇妙に思えます。C++ の動作に何か欠けているものはありますか?
このプロジェクトでは、エラー C2491 の原因となるものを広範囲に使用しているため、変更するのは少し複雑です。
python - EXR ファイルの Python で float16 を uint8 に変換する方法
Python で EXR ファイルを読み取るために OpenEXR を使用しています。ハーフ データ (float16) の R、G、および B チャネルがあります。Numpy を使用して、データを float16 から uint8 (0-255 色) に変換しようとしましたが、失敗しました。
そこで、R チャネルのピクセル値を変数 rCh に入れます。次に、array.array を np.array に変換して、astype メソッドを使用して uint8 に変換できるようにします。私はこれに慣れていないので、すべての値が 0 になるので、明らかに正しくありません。元々、値は次のようになっています: 0.0、2.9567511226945634e-14、1.2295237050707897e-10 など。
float16 値に加えて、正規化する必要がある通常の float 値もいくつかあります。float16 の値を 0 ~ 255 の範囲に設定する前に正規化する必要があると思います。
何か案は?ありがとうございました。
ここで getChanEXR に記載されている定義のコードを追加します (チャネル データを取得するための python OpenEXR ドキュメントのコードに基づくカスタム定義です。