2

我必须缩小数据以输入神经网络

我想使用cv2.imresize,但是关于它如何插入数据以缩小它有多种选择:

  • INTER_NEAREST - 最近邻插值
  • INTER_LINEAR - 双线性插值(默认使用)
  • INTER_AREA - 使用像素区域关系重采样。它可能是图像抽取的首选方法,因为它可以提供无莫尔条纹的结果。但是当图像被缩放时,它类似于
  • INTER_NEAREST 方法。
  • INTER_CUBIC - 4x4 像素邻域的双三次插值
  • INTER_LANCZOS4 - 8x8 像素邻域的 Lanczos 插值

有没有人尝试过这些,如果有,你发现了什么?注意:我没有足够的时间尝试学习各种插值。

4

1 回答 1

3

对于下采样图像数据(我假设数据是图像,因为您使用的是 OpenCV),您可以使用区域平均来在速度和质量方面获得良好的性能(除非缩小因子非常小,可能会发生模糊)。

最近的邻居会定期丢弃一些单元格,但会非常快,因为实际上没有执行插值。然而,大多数图像都会出现一些混叠。

如果质量是您主要关心的问题,请使用Lanczos(通常比双三次图像要慢,但图像质量更高)。

众所周知,双三次和双线性在缩小图像小于 0.5 的因子时表现非常糟糕。

于 2015-07-10T12:25:58.877 回答