解决Clipping input data to the valid range for imshow with RGB data([0..1] ...)

解决 Clipping input data to the valid range for imshow with RGB data [0..1] for floats or [0..255] for integers

1. 问题描述

在使用 python 显示 npz 文件中的图片时,使用如下代码:

import numpy as np
import matplotlib.pyplot as plt

path = "dataset_dog-fish_train-900_test-300.npz"
data = np.load(path)
img_data = data['X_train']
plt.imshow(img_data[301])
plt.show()

出现了下面这个问题
在这里插入图片描述
这是因为img_data[301]数组中的数字取值范围要求是[0,1],实际上取值是[-1,1],所以有如下解决方式。

2. 解决方法

将以上代码改为

import numpy as np
import matplotlib.pyplot as plt

path1 = "dataset_dog-fish_train-900_test-300.npz"
data1 = np.load(path1)
img_data1 = data1['X_train']
print(data1.files)
print((img_data1[301]+1.0)/2.0)
plt.imshow((img_data1[301]+1.0)/2.0)
plt.show()

修改之前图片效果:
请添加图片描述
修改之后图片效果:
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值