如何通过 scikit-image 调整二值图像的大小?
How to resize a binary image through scikit-image?
我有一个用数组表示的图像,其形状为 (128,128)
,数据类型为 bool
(这意味着它表示二进制图像)。
所以我需要将其调整为给定的比例(例如,(543, 347)
)。
谁能告诉我使用 python 的 scikit-image
库轻松完成此操作的方法?
您可以使用 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()
这应该可以解决您的问题。
你想填充你的图像吗?尝试:
skimage.util.pad
Wich 将保留初始尺寸,然后尝试
skimage.util.crop
请记住,这可能会影响 operations/predictions 等。因此可能必须附加 NaN 来缓解。
看看这个tutorial
您可以使用 resize
and 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)
我有一个用数组表示的图像,其形状为 (128,128)
,数据类型为 bool
(这意味着它表示二进制图像)。
所以我需要将其调整为给定的比例(例如,(543, 347)
)。
谁能告诉我使用 python 的 scikit-image
库轻松完成此操作的方法?
您可以使用 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()
这应该可以解决您的问题。
你想填充你的图像吗?尝试:
skimage.util.pad
Wich 将保留初始尺寸,然后尝试
skimage.util.crop
请记住,这可能会影响 operations/predictions 等。因此可能必须附加 NaN 来缓解。
看看这个tutorial
您可以使用 resize
and 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)