問題タブ [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.

0 投票する
1 に答える
188 参照

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 の原因となるものを広範囲に使用しているため、変更するのは少し複雑です。

0 投票する
1 に答える
1861 参照

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 ドキュメントのコードに基づくカスタム定義です。