2017-06-01 6 views
0

16ビット整数の生のTIFFを8ビットのint pngに変換しようとしています。私は、これは、アレイ内のすべての値を介して単純なループで達成することができることを知っているnumpyの線形関数に従って配列の要素を変更するには

[0, 32, 64, ..., 4095] should be converted to: [0, 2, 4, ..., 255 ] 

:255

例 - 0 4095 - そのステップは0から配列内の値を変更することを含みますしかし、numpyはこのタイプのタスクに標準機能をいくつか提供していますか?ありがとうございました。

+0

https://stackoverflow.com/questions/25485886/how-to-convert-a-16-bit-to-an-8-bit-image-in-opencv and https://stackoverflow.com/questions/14464449/numpy-to-efficient-convert-16ビット画像データから8ビット表示へ – Dadep

+2

単に「16」で除算する: 'a // 16'? – Divakar

答えて

1

単純に配列(画像)をfloat(255)/4095.0倍してもそのトリックはありませんか?

+1

お詫び申し上げます。できます。最初は、 'cv2.CV_LOAD_IMAGE_GRAYSCALE'を使ってイメージを読み込んだので、動作しませんでしたが、' cv2.CV_LOAD_IMAGE_UNCHANGED'を使ってロードすると動作します。どうもありがとうございます - 他の人との混乱を避けるために前のコメントを削除します。ありがとうございました! :) – matchifang

関連する問題