假设我有一个彩色图像,很自然,这将由python中的一个三维数组表示,比如shape(nxmx3),并称之为img。
我想要一个新的二维数组,称之为“narray”有一个形状(3,nxm),这样数组的每一行分别包含R、G和B通道的“扁平”版本。而且,它应该具有这样的特性:我可以很容易地通过类似于
narray[0,].reshape(img.shape[0:2]) #so this should reconstruct back the R channel.
问题是如何从img构造“narray”?简单的img.reforme(3,-1)不起作用,因为元素的顺序对我来说是不可取的。
谢谢
如果安装了scikit模块,则可以使用rgb2gray(或rgb2gray)将照片从彩色变为灰色(从3D变为2D)
您需要使用^{} 重新排列维度。现在,
n x m x 3
将被转换为3 x (n*m)
,因此将最后一个轴发送到前面,并右移剩余轴的顺序(0,1)
。最后,重塑为具有3
行。因此,实施将是-样本运行-
假设我们有一个大小为
img
的数组m x n x 3
来转换成大小为new_img
的数组3 x (m*n)
相关问题 更多 >
编程相关推荐