归一化为 [0,1] 后图像全黑
Image fully black after normalizing to [0,1]
我正在尝试将图像规范化为 [0,1]
,如下所示:
img = cv2.imread('/home/images/' + name)
norm_image = cv2.normalize(img, None, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX)
当我尝试展示它时:
cv2.imshow('normalized', norm_image)
cv2.waitKey()
图像全黑。我该如何解决这个问题?
使用cv2.imread打开图片时,默认数据类型为整数。
当您使用 cv2.normalize 且未指定输出数据类型时,默认为与输入相同的类型,在本例中为 integer。
只有使用 float 值将图像归一化在 0 - 1 之间才有意义。否则它只是 0 或 1。
尝试添加输出数据类型参数dtype=cv2.CV_32F
norm_image = cv2.normalize(img, None, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_32F)
我正在尝试将图像规范化为 [0,1]
,如下所示:
img = cv2.imread('/home/images/' + name)
norm_image = cv2.normalize(img, None, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX)
当我尝试展示它时:
cv2.imshow('normalized', norm_image)
cv2.waitKey()
图像全黑。我该如何解决这个问题?
使用cv2.imread打开图片时,默认数据类型为整数。
当您使用 cv2.normalize 且未指定输出数据类型时,默认为与输入相同的类型,在本例中为 integer。
只有使用 float 值将图像归一化在 0 - 1 之间才有意义。否则它只是 0 或 1。
尝试添加输出数据类型参数dtype=cv2.CV_32F
norm_image = cv2.normalize(img, None, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_32F)