Estoy tratando de visualizar una imagen TIFF de 11 bits usando matplotlib. Para hacerlo, cargo la imagen usando tifffile para obtener un array numpy 3D. A continuación, tengo que reducir la resolución de la imagen porque el array contiene valores más allá del rango [0, 255]. Aquí está mi código:
import tifffile as ti
from scipy.misc import bytescale
x_3band = ti.imread(ruta_del_archivo_tres_bandas)
# transponer para que la forma sea [M, N, 3]
X = np.transpose(x_3band, (1,2,0))
X = bytescale(X)
plt.imshow(X)
plt.show()
El problema es que la imagen visualizada es diferente a la que se visualiza en QGIS (ver la imagen, la imagen izquierda es con matplotlib).