Python PNG图像包含的像素值高达40000?

Python PNG图像包含的像素值高达40000?,python,image,opencv,image-processing,png,Python,Image,Opencv,Image Processing,Png,我有一张PNG图像,它显示了灰度的光谱,但是最大的像素值超过了49000。最小非零值为6825: 当值为(06825…49350)且似乎已正常化时,图像如何显示光谱?为什么这些值会超过255?16位灰度,通常用于深度贴图,也就是说图像的范围为0。。65535(=2**16-1)。但如果使用cv2.imread(img_路径)打开它,则最大值为255。默认标志是IMREAD\u COLOR,我认为它不会转换为8位灰度。默认情况下,IMREAD每8位转换为3个通道。正如您所看到的,有一个“未更改”

我有一张PNG图像,它显示了灰度的光谱,但是最大的像素值超过了49000。最小非零值为6825:


当值为(06825…49350)且似乎已正常化时,图像如何显示光谱?为什么这些值会超过255?

16位灰度,通常用于深度贴图,也就是说图像的范围为0。。65535(=2**16-1)。但如果使用
cv2.imread(img_路径)
打开它,则最大值为255。默认标志是
IMREAD\u COLOR
,我认为它不会转换为8位灰度。默认情况下,IMREAD每8位转换为3个通道。正如您所看到的,有一个“未更改”的标志yourself@Micka谢谢
import cv2
import os
import numpy as np

img_path = os.path.expanduser('~/test.png')
img = cv2.imread(img_path, cv2.IMREAD_UNCHANGED)
img_array = np.array(img)

print(np.min(img_array[img_array > 0])) #6825
print(np.max(img_array)) #49350