You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

scikit-image 0.18.1使用rescale缩放彩色图像不保留通道数问题求助

问题原因

这个问题是scikit-image 0.18版本的rescale函数参数默认逻辑变更导致的:

  • 0.17及更早版本中,rescale遇到3维输入会自动判定最后一维为通道维度,不会对该维度做缩放处理
  • 0.18版本调整了默认逻辑,如果你不显式指定通道维度,函数会把所有维度都视为空间维度执行缩放。你的缩放系数为1000/1444 ≈ 0.692,原始最后一维的3个通道乘以该系数后取整得到2,就是你看到的输出最后一维为2的原因。

解决方法

调用rescale时显式指定通道轴即可,代码修改如下:

img = rescale(img, scale, channel_axis=-1)
  • channel_axis=-1表示最后一维是通道维度,缩放时跳过该维度
  • 如果你要兼容旧版本写法,也可以临时用multichannel=True参数,但该参数在0.19及之后版本已经废弃,更推荐用channel_axis参数

修改后再打印输出的img.shape就会得到(1000, 1000, 3)的预期结果。


内容的提问来源于stack exchange,提问作者moha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:09:04