2017-06-01 39 views
0

的線性函數我想要16位的int原始TIFF轉換爲8位的int PNG變更數組中的元素。 在於A步驟包括在陣列中改變的值從0 - 4095 0 - 255如何根據numpy的

例如:

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

我知道,這可以用簡單的循環通過所有的值的陣列中來實現,但numpy是否爲這種類型的任務提供了一些標準功能?謝謝。

+0

https://stackoverflow.com/questions/25485886/how-to-convert-a-16-bit-to-an-8-bit-image-in-opencv和https://stackoverflow.com/questions/14464449 /使用numpy-to-efficient-convert-16-bit-image-data-to-8-bit-for-display-with – Dadep

+2

簡單地用'16'除去:a // 16'? – Divakar

回答

1

只需float(255)/4095.0陣列(圖像)乘以不會做的伎倆?

+1

道歉。有用。起初,我使用'cv2.CV_LOAD_IMAGE_GRAYSCALE'讀取圖像,所以它不起作用,但它在我使用'cv2.CV_LOAD_IMAGE_UNCHANGED'加載時起作用。非常感謝 - 我將刪除以前的評論以避免與其他人混淆。謝謝! :) – matchifang