Python中的OpenCV-无抗锯齿调整大小
我有一个512x160像素的黑白图像,我想用OpenCV放大(到4096x1280)。负(白色)像素保持为负非常重要Python中的OpenCV-无抗锯齿调整大小,python,opencv,Python,Opencv,我有一个512x160像素的黑白图像,我想用OpenCV放大(到4096x1280)。负(白色)像素保持为负非常重要cv2.resize在默认情况下显示为反锯齿图像,从而创建假正像素。有没有办法禁用抗锯齿功能 编辑:从这里我可以看到插值方法: 间最近邻插值 间线性双线性插值 三次双三次插值 INTER_AREA-使用像素面积关系重新采样。这可能是一个错误 图像抽取的首选方法,因为它提供无云纹 结果。但是,当图像被缩放时,它类似于INTER_最近法 INTER_LANCZOS4-8x8邻域上的L
cv2.resize
在默认情况下显示为反锯齿图像,从而创建假正像素。有没有办法禁用抗锯齿功能
编辑:从这里我可以看到插值方法:
- 间最近邻插值
- 间线性双线性插值
- 三次双三次插值
- INTER_AREA-使用像素面积关系重新采样。这可能是一个错误 图像抽取的首选方法,因为它提供无云纹 结果。但是,当图像被缩放时,它类似于INTER_最近法
- INTER_LANCZOS4-8x8邻域上的Lanczos插值
- INTER_MAX-用于插值代码的掩码
- WARP_FILL_OUTLIERS-标志,填充所有目标图像像素。 如果其中一些与源图像中的异常值相对应,则为 设置为零
- 扭曲逆映射-标志,逆变换
cv2.INTER\u NEAREST
:
在C++中,可以选择插值类型,Python可能是相同的。您可能需要使用CV\u INTER\umode@Micka谢谢,“最近邻插值”的确切含义是什么?调整大小后,不清楚新像素将获得哪种颜色。通常在该区域的源图像像素之间进行插值。INTER_NEAREST选择源图像中最近像素的颜色。对于任何感兴趣的人,INTER_NEAREST仍然给我一些“假阳性”像素。我通过将图像调整为np数组来解决这个问题:
np.repeat(np.repeat(image,8,axis=0),8,axis=1)
我找到了一个比cv2.resize
更好的方法来在Python中使用OpenCV时放大图像。根据法律,这也是一种选择。
scale_ratio = 0.5
img_resized = cv2.resize(img, None, fx=scale_ratio, fy=scale_ratio, interpolation=cv2.INTER_NEAREST)