我正在尝试创建一个将图像从颜色转换为灰度的功能。此外,将其从浮点数转换为整数。
我注意到默认情况下,scikit-image转换函数返回的浮点表示形式为[0,1]的图像。我想要使用np.uint8从0-255的整数表示形式。
from skimage.color import rgb2gray
import numpy as np
def to_grayscale_uint (image):
original = image()
grayscale = rgb2gray(original)
grayscale = np.uint8
target = target.astype('uint8')
return grayscale
答案 0 :(得分:0)
由于您的输出在[0,1]范围内,因此您只需将其乘以255,然后使用np.uint8()
进行投射。
import numpy as np
from skimage import data
from skimage.color import rgb2gray
def to_gray_uint(image):
return np.uint8(rgb2gray(image) * 255)
original = data.astronaut()
gray = rgb2gray(original)
print(gray.min(), gray.max(), gray.dtype) # prints: 0.0 1.0. float64
gray = to_gray_uint(original)
print(gray.min(), gray.max(), gray.dtype) # prints: 0 255 uint8