将类型为float64的np.array转换为类型为uint8的数组,缩放值。
- 论坛
- 将类型为float64的np.array转换为类型为uint8的数组,缩放值。
4 浏览
将类型为float64的np.array转换为类型为uint8的数组,缩放值。
我有一个特定的np.array数据,代表一个特定的灰度图像。
我需要使用SimpleBlobDetector(),但它只接受8位图像,所以我需要将这个图像转换,显然会有质量损失。
我已经尝试过:
import numpy as np import cv2 [...] data = data / data.max() #将数据归一化到0-255的范围 data = 255 * data img = data.astype(np.uint8) cv2.imshow("Window", img)
但是cv2.imshow没有按预期显示图像,而是出现了奇怪的扭曲...
最后,我只需要将np.float64转换为np.uint8,缩放所有值并截断剩余部分,例如65535变为255,65534变为254,依此类推... 有任何帮助吗?
谢谢。