我的图像F大小为1044 * 1408,它只有3个整数值0、2和3。
我想将其缩小到360 * 480。现在我正在使用Z= cv2.resize(F,(480,380))。但是Z是插值的,它具有许多唯一值,不仅仅是0、2和3。我不能将插值取整到最接近的整数,因为我会得到1。
F从tif文件读取并进行操作,现在是ndarray。所以我不能使用PIL:F = F.resize((new_width, new_height))作为F从不是F = Image.open(*)。
Hum*_*awi 10
您可以使用INTER_NEAREST:
Z= cv2.resize(F,(480,380),fx=0, fy=0, interpolation = cv2.INTER_NEAREST)
Run Code Online (Sandbox Code Playgroud)
或者,您也可以使用skimage.transform.resize。参数order = 0强制执行最近邻居插值。
Z = skimage.transform.resize(F,
(480,380),
mode='edge',
anti_aliasing=False,
anti_aliasing_sigma=None,
preserve_range=True,
order=0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4063 次 |
| 最近记录: |