[英]How scale down an image in a np.array?
我有一个输入 np.array。 在每个单元格中有一个 512x512 像素的 DICOM 图像。 我的目标是将所有图像缩小到 128x128 像素,因为这样我的输入必须是使用形状 (None, 128, 128, 1) 构建的模型的 np.array。 我的输入数据称为 train_patient 和 train_mask。 这里有一些细节:
train_patient[0].shape
(512, 512)
train_patient.shape
(129, 512, 512)
train_patient.size
33816576
train_patient[0].size
262144
我试过
sample_width = 128
sample_height = 128
train_patient = np.resize(train_patient, (129, sample_width, sample_height, 1))
但是当我绘制它时,图像与原始图像完全不同。
我试过的另一个选择是
train_patient = cv2.resize(train_patient, dsize=(128, 128), interpolation=cv2.INTER_CUBIC)
当我绘制它时,图像与原始图像不成比例,但实际上它们代表相同的内容。 如何制作比例图像? 然而,这种类型的 train_patient 数据不适合作为构建模型的输入数据进行重塑。 我不知道我在做什么,因为我是初学者,所以请帮助我! 非常感谢您的宝贵时间
所以我的建议是使用skimage
因为它适用于ndarrays
您的使用应该非常简单。
https://scikit-image.org/docs/dev/api/skimage.transform.html#skimage.transform.rescale
您想将图像重新缩放4
,在这种情况下,这意味着您需要使用1 / 4 = 0.25
缩放。
from skimage.transform import rescale
image_rescaled = rescale(image, 0.25)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.