【发布时间】:2021-01-19 08:59:45
【问题描述】:
我想根据 z 轴的中位数堆叠两组图像(im-series1 = 32x32x16 和 im_series2 = 32x32x21),并保持相对于 im-series1 1 形状的相邻值。
【问题讨论】:
标签: python image numpy stack concat
我想根据 z 轴的中位数堆叠两组图像(im-series1 = 32x32x16 和 im_series2 = 32x32x21),并保持相对于 im-series1 1 形状的相邻值。
【问题讨论】:
标签: python image numpy stack concat
你应该做的是先裁剪im_series2,然后堆叠。请注意,有两种方法可以裁剪 im_series 以适合 im_series1,两者都是“中位数”。
import numpy as np
im_series2 = np.ones((32, 32, n)) # this is im_series2 as an example
mid = n // 2
im_series2 = im_series2[:, :, mid-8:mid+8] # this is the cropping. [:,:,2:-3] is also valid
print(im_series2.shape)
im_series1 = np.ones((32, 32, 16)) # this is im_series1 as an example
print(im_series1 .shape)
c = np.concatenate((im_series1 , im_series2), axis=-1) # this concatenates them on the z_axis
print(c.shape)
这个输出:
(32, 32, 16)
(32, 32, 16)
(32, 32, 32)
【讨论】:
im_series2(见我在第三行的评论),都可以吗?在您更一般的情况下,我可以假设最后一个频道始终采用16 + 5 * x 的形式,即 16,26,31,36,41...?