我有一个数组表示的图像,其形状为(128,128)
,数据类型为bool
(表示它代表二进制图像)。
所以我需要将其调整到给定的比例(比如(543, 347)
)。
任何人都可以使用python的scikit-image
库告诉我一种方法吗?
答案 0 :(得分:1)
您可以使用resize
和img_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)
答案 1 :(得分:0)
您可以使用skimage.transform.resize库来完成。 阅读图像并调整大小。
from skimage import io
from skimage.transform import resize
img = io.imread(path/to/the/image)
image_resized = resize(img, (543, 347),anti_aliasing=True)
image_resized.show()
这可以解决您的问题。
答案 2 :(得分:0)
您想要填充图片吗?尝试:
skimage.util.pad
将保留初始尺寸,然后尝试
skimage.util.crop
请记住,这可能会影响操作/预测等。因此可能需要附加NaN来缓解。
看看这个tutorial