Python で生の DNG 画像を処理しようとrawpy
すると、奇妙な結果で終了します。
import rawpy
import imageio
from matplotlib import pyplot as plt
path = '/home/stefan/AIJ/RAW.DNG'
with rawpy.imread(path) as raw:
rgb = raw.postprocess()
plt.imshow(rgb)
plt.show()
結果は 8 ビット値の RGB 画像配列で、私のカメラは 14 ビットの raw 画像を生成します。
rgb
配列を視覚化すると、期待される結果が得られます。
いくつかのグーグル検索から、同じファイルをインポートできますが、出力は16ビットであることがわかりました。
後処理関数で次のパラメーターを使用しました。
rgb = raw.postprocess(output_bps=16,demosaic_algorithm=None,output_color = rawpy.ColorSpace.Adobe)
現在、rgb
配列には 16 ビット値が含まれていますが、視覚化すると次のようになります。
最初の結果に似ているが、16 ビット値を処理する視覚化を取得する方法を誰か教えてもらえますか?
最初は、カメラが 16 ビットではなく 14 ビット イメージを生成しているという事実に関連していると思っていましたが、パラメーターoutput_bps
を 14 に変更すると、さらに悪い視覚化結果が得られます。
前もって感謝します!
要望があれば、ここに PENTAX K-5 の生の画像を追加しますが、サイズは 18MB で、フォーラムには 2MB の制限があります (ファイルを渡す別の方法があるかもしれません)。