今天又是快乐改错误的经历:
在做k-means进行图片压缩的实战项目中,我遇到了这样一个pyplot显示图像报错问题:Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for i
错误的原因
1. matplotlib.pyplot.imshow()函数在处理灰度图像时,自动将其值做归一化处理
2. 而在处理彩色图像时则不会,而是将浮点值变换至[0,1],整数值变换到[0, 255]范围
因为使用的是彩色的照片,所以我们需要对数据集进行归一化处理:
A=(A-mean(A))/std(A)
但是这样还是会出现这样的警告,并且生成的图像严重不符合要求。因为我们上面的方法是讲浮点数变换到【-1,1】
正确的解决方法
A=A/255.
这样错误消灭!