如何通过 scikit-image 调整二进制图像的大小?

Vaj*_*aka 3 python numpy scikit-image

我有一个用数组表示的图像,它的形状是(128,128),数据类型是bool(这意味着它代表一个二进制图像)。

所以我需要将它调整到给定的比例(比如,(543, 347))。

谁能告诉我一种使用 pythonscikit-image库轻松做到这一点的方法吗?

Ton*_*has 6

您可以使用resizeimg_as_bool来完成工作。

演示

import numpy as np
from skimage import io
from skimage.transform import resize
from skimage import img_as_bool
import matplotlib.pyplot as plt

bool_arr = np.zeros(shape=(128, 128), dtype=np.bool)
bool_arr[32:96, 32:96] = True
resized = img_as_bool(resize(bool_arr, (543, 347)))

fig, (ax0, ax1) = plt.subplots(1, 2)
ax0.imshow(bool_arr, cmap='gray')
ax0.set_title('Boolean array')
ax1.imshow(resized, cmap='gray')
ax1.set_title('Resized')
plt.show(fig)
Run Code Online (Sandbox Code Playgroud)

结果