最近刚刚接触关于图像处理的一些东西,体会到了skimage库的强大,在这里记录下在使用过程中困扰过我的一些东西。一般在使用
img = skimage.data.astronaut()时其默认RGB的取值范围是0~255,数据类型是uint8。当我们使用skimage.color.rgb2hsv,期望将RGB转化为HSV时,有一些注意事项。
我使用的是v0.12版本的skimage,其中里面有一句话:
The conversion assumes an input data range of [0, 1] for all
color components.
我理解为它相当于先把0~255的RGB值转换为0~1,然后再进行处理。当我们输入的数据类型是uint8时没有任何问题,但当我们对图像数据进行处理后,例如不小心将其数据类型变成了float64时,就会出现一些问题。
from skimage import color
from skimage import data
img = data.astronaut()