我一直在搜索stackexchange档案,但似乎找不到正确的答案……应该使用reshape,应该使用resize,但两者都失败...
设置:3个两种分辨率的netCDF文件...1500米,21000米
需要调整大小或降低分辨率或调整形状或任何合适的词是更高分辨率的文件:)
使用gdalinfo或"print (np.shape(np.shape))“,我们知道较高分辨率的文件的形状或大小为(2907,2331),而较低分辨率的数组的大小为(1453,1166)
因此,我尝试了np.resize (array,(1453,1166))和np.reshape (array,(1453,1166)),并收到如下错误:
ValueError:无法将大小为6776217的数组调整为形状(1453,1166)
当然,我使用了错误的术语/行话,我为此道歉…在命令行上做我需要做的事情,就像gdal_translate -outsize x y -of GTiff infile outfile一样简单
请帮帮我!
发布于 2017-09-01 00:09:37
都不是。
调整形状只会改变数据的形状,而不是总大小,所以你可以将形状为1x9的数组调整为3x3,而不是2x4。
Resize做了类似的事情,但是让你增加大小,在这种情况下,它将用正在调整大小的数组的元素填充新的空间。
你有两个选择:编写你的函数,以你想要的方式调整大小,或者使用Python图像库之一(PIL,Pillow...)应用常见的图像大小调整函数。
发布于 2019-02-18 03:54:33
Did有同样的问题:
File "primes_test2audio.py", line 117, in <module>
librosa.display.specshow(features.reshape(n_feat, n_frames) ,
ValueError: cannot reshape array of size 9620 into shape (20,313)解决方案:除以9620/20=481,得到一个兼容的形状:
shape of one sample in 2D: (20, 481)
shape of one sample flat: (9620,)n_frames = 481 #每个样本的帧数
n_features = 20 # mfcc分析的系数数
https://stackoverflow.com/questions/45985692
复制相似问题