我在Python中使用 openCV
加载16位图像。然后我对它进行一些处理,并使用openCV的 imwrite()
功能将其保存回光盘。令人惊讶的是,图像在0-255之间重新调整
另一方面,如果使用imwrite()
在光盘上保存图像而不进行任何处理,则图像将保存为16位。我怀疑在numpy
数组上执行操作会以某种方式改变数组的类型吗?
我的代码是:
img16Bit = cv2.imread( 'map.pgm', -1 )
imwrite( "actualImage.jpg", img16Bit ) # works fine
# does some processing on img16Bit
imwrite( 'processedImage.jpg', img16Bit ) # image is scaled bw 0-255
# # colour-transformed
# # into grayscale-16bit
# # colordepth