我想调整图像大小。我的图像包含特定值 [0, 1, 2, 7, 9]。调整大小后,会引入新值,例如 5 等。我想阻止这种情况发生。
我目前正在使用scikit
图像调整大小功能。我已经尝试了所有插值标志但无济于事。
编辑:一个简单的代码来显示问题
import numpy as np
from skimage.transform import resize
vals = [0, 1, 4, 6]
N, M = 100, 100
image = np.random.choice(vals, N * M).reshape(N, M).astype('uint8')
resized_image = resize(image, (50, 50), preserve_range=True).astype('uint8')
print('vals before resizing ', np.unique(image))
print('vals after resizing ', np.unique(resized_image))
Set anti_aliasing
to False
:
resized_image = resize(image, (50, 50), order=0, preserve_range=True, anti_aliasing=False).astype('uint8')
anti_aliasing布尔值,可选
是否在缩小之前应用高斯滤波器来平滑图像。对图像进行下采样时进行过滤以避免混叠伪影至关重要。
混叠滤波器应用高斯滤波器,产生新值。
结果:
vals before resizing [0 1 4 6]
vals after resizing [0 1 4 6]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)