使用skimage.color.rgb2hsv时的一些注意事项

在使用skimage.color.rgb2hsv转换RGB到HSV时,需要注意输入数据的范围和类型。当RGB值为0-255的uint8类型时,转换正常;但若数据类型变为float64,未被正确缩放,可能导致HSV的V通道超出0-1范围。解决方法是在转换前将数据强制转回uint8类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近刚刚接触关于图像处理的一些东西,体会到了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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值