当我发现python scipy.ndimage.zoom在执行缩放时会自动添加新频道时,我很惊讶:
from scipy.misc import imread
from scipy.ndimage import zoom
img = imread('lena.jpg')
img=imread('lena.jpg')
img.shape
(468, 792, 3)
x = zoom(img, 1.0)
x.shape
(468, 792, 3)
x = zoom(img, 1.5)
x.shape
(702, 1188, 4)
x = zoom(img, 2)
x.shape
(936, 1584, 6)宽度,高度尺寸都是正确的,我不能理解从哪里来的其他尺寸。
这种奇怪的行为只在彩色图像中表现出来:
x = zoom(img[:, :, 0], 2)
x.shape
(936, 1584)发布于 2018-07-26 00:13:13
ndimage.zoom对通道(或图像)一无所知。它使用n维数组进行操作。如果你给出一个形状为(9, 5, 3)的数组,并要求以2的因子缩放它,它将产生一个形状为(18, 10, 6)的(9*2, 5*2, 3*2)数组。
当然,当第三个轴是颜色通道时,这不是您想要的。使用逐轴缩放,将最后一个轴的缩放设置为1:
zoom(img, (2, 2, 1))https://stackoverflow.com/questions/51516644
复制相似问题