【问题标题】:Resizing data using cv2.imresize for neural network input使用 cv2.imresize 调整数据大小以进行神经网络输入
【发布时间】:2015-07-10 10:06:42
【问题描述】:

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

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

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

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

【问题讨论】:

  • 那么只需使用 INTER_AREA 就可以很好地进行下采样并且速度非常快。

标签: python image opencv neural-network conv-neural-network


【解决方案1】:

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

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

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

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

【讨论】:

  • 谢谢!当您说平均时,您是指 INTER_AREA 吗?
  • @angela,没错。如果答案有帮助,请点赞/接受。
  • 缩小图像时 INTER_NEAREST 的行为如何?它通过计算原始的平均像素值来创建缩小版本?
猜你喜欢
  • 2018-05-22
  • 2018-03-29
  • 2016-10-21
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 2020-08-30
  • 2021-11-14
相关资源
最近更新 更多