python 中三维体素归一化

Voxel normalization of third dimension in python

我目前正致力于标准化 ct 扫描(x、y、层)。使用 cv2.reshape 标准化前两个维度很简单,但第三个维度......我的想法是展平前两个维度以获得 2d-numpy-array。如果我对每一层进行 (x * y) 重塑并将其重塑回 (x, y),我会得到一个完全不同的图像。我在开头有一个肺的图像,在后面有不同灰度值的行。

test = cv2.resize(img, (img.shape[0] * img.shape[1], 1), interpolation=cv2.INTER_LINEAR)
test = cv2.resize(test, (159, 159), interpolation=cv2.INTER_LINEAR)
self.print_prediction(test, cv2.resize(temp2_masks[:, 0], (159, 159)),
                                  color=False, shape=(159, 159))

我确定这是一个简单的错误,但我没有看到。因此,我将非常感谢您的帮助。

cv2.resize 函数不会重塑您的数组。 它实际上调整了图像的大小。你的第一行是水平压缩你的图像,同时垂直扩展它。这些值根本没有保留。

改为使用 numpy.reshape 重塑数组。