ValueError: win_size exceeds image extent. If the input is a multichannel (color) image, set multichannel=True
ValueError: win_size exceeds image extent. If the input is a multichannel (color) image, set multichannel=True
我正在尝试计算两个图像的 SSIM 值,但出现错误。
img_np.shape = (1, 256, 256)
out.detach()[0].cpu().numpy().shape = (1, 256, 256)
out
是模型生成的输出图像
当我尝试查找 SSIM 值时 ssim_ = compare_ssim(img_np, out.detach().cpu().numpy()[0])
我遇到错误 ValueError: win_size exceeds image extent. If the input is a multichannel (color) image, set multichannel=True.
我试过了
ssim_ = compare_ssim(img_np, out.detach().cpu().numpy()[0], full=True)
但同样的错误
ssim_ = compare_ssim(img_np, out.detach().cpu().numpy()[0], full=True, win_size=1,use_sample_covariance=False)
然后我得到的输出是数组而不是数字
形状 (1, 256, 256) 被解释为具有 1 行、256 列和 256 个颜色通道的图像。
您可以使用numpy.squeeze删除冗余维度:
img_np = np.squeeze(img_np)
新形状将是 (256, 256) - 有效灰度图像的形状。
大多数 Python 软件包采用“最后一个频道”图像格式。
参见:A Gentle Introduction to Channels-First and Channels-Last Image Formats.
我正在尝试计算两个图像的 SSIM 值,但出现错误。
img_np.shape = (1, 256, 256)
out.detach()[0].cpu().numpy().shape = (1, 256, 256)
out
是模型生成的输出图像
当我尝试查找 SSIM 值时 ssim_ = compare_ssim(img_np, out.detach().cpu().numpy()[0])
我遇到错误 ValueError: win_size exceeds image extent. If the input is a multichannel (color) image, set multichannel=True.
我试过了
ssim_ = compare_ssim(img_np, out.detach().cpu().numpy()[0], full=True)
但同样的错误ssim_ = compare_ssim(img_np, out.detach().cpu().numpy()[0], full=True, win_size=1,use_sample_covariance=False)
然后我得到的输出是数组而不是数字
形状 (1, 256, 256) 被解释为具有 1 行、256 列和 256 个颜色通道的图像。
您可以使用numpy.squeeze删除冗余维度:
img_np = np.squeeze(img_np)
新形状将是 (256, 256) - 有效灰度图像的形状。
大多数 Python 软件包采用“最后一个频道”图像格式。
参见:A Gentle Introduction to Channels-First and Channels-Last Image Formats.