【问题标题】:How do I choose an image interpolation method? (Emgu/OpenCV)如何选择图像插值方法? (Emgu/OpenCV)
【发布时间】:2011-03-07 22:37:44
【问题描述】:

Emgu(OpenCV 的 .net 包装器)提供的图像大小调整功能可以使用any one of four interpolation methods

  1. CV_INTER_NN(默认)
  2. CV_INTER_LINEAR
  3. CV_INTER_CUBIC
  4. CV_INTER_AREA

我大致了解线性插值,但只能猜测三次或面积的作用。我怀疑 NN 代表最近的邻居,但我可能是错的。

我调整图像大小的原因是为了减少像素数量(它们将在某些时候被迭代),同时保持它们的代表性。我之所以提到这一点,是因为在我看来,插值是这个目的的核心——因此,获得正确的类型应该非常重要。

那么我的问题是,每种插值方法的优缺点是什么?它们有何不同,我应该使用哪一个?

【问题讨论】:

    标签: image opencv interpolation emgucv


    【解决方案1】:

    最近的邻居会尽可能快,但在调整大小时会丢失大量信息。

    线性插值速度较慢,但​​不会导致信息丢失除非你正在缩小图像(你是)。

    三次插值(实际上可能是“双三次”)使用包含多个相邻像素的许多可能公式之一。这对于缩小图像要好得多,但在不丢失信息的情况下,你可以做多少缩小仍然是有限的。根据算法,您可能可以将图像减少 50% 或 75%。这种方法的主要缺点是速度要慢得多。

    不确定“面积”是什么 - 它实际上可能是“双三次”。此设置很可能会为您提供最佳结果(就信息丢失/外观而言),但代价是最长的处理时间。

    更新:此链接提供了更多详细信息(包括您的列表中未包含的第五种类型):

    http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html?highlight=resize#resize

    【讨论】:

    • Nearest neighbor 的情况下,考虑了多少个邻居?文档中没有任何内容
    • @seralouk 只有一个
    【解决方案2】:

    算法是:(描述来自 OpenCV 文档)

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

    如果您想要更快的速度,请使用最近邻法。

    如果您想在下采样后保持图像质量,可以考虑使用基于 INTER_AREA 的插值,但同样取决于图像内容。

    你可以找到详细的速度对比分析here

    以下是从上述链接获取的 400*400 px 图像的速度比较

    【讨论】:

    • 很好的答案,+1。可悲的是,我不确定你会得到更多,因为这个问题已经 7 岁了。
    • 原文来源:tanbakuchi.com/posts/…
    • Nearest neighbor 的情况下,考虑了多少个邻居?文档中没有任何内容
    【解决方案3】:

    使用的插值方法取决于您要达到的目标:

    CV_INTER_LINEARCV_INTER_CUBIC 应用低通滤波器(平均)以在视觉质量和边缘去除之间取得平衡(低通滤波器倾向于按顺序去除边缘以减少图像中的锯齿)。在这两者之间,我推荐你CV_INTER_CUBIC

    CV_INTER_NN 方法实际上是最近邻法,它是最基本的方法,您会得到更清晰的边缘(不会应用低通滤波器)。然而这种方法只是简单地像“缩放”图像一样,没有视觉增强。

    【讨论】:

      【解决方案4】:

      它们都会丢失信息,您使用的信息取决于您需要的速度、您可以承受丢失多少信息以及图像的性质。

      对不起,没有正确的答案 - 这就是为什么有选择

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-23
        • 2014-04-11
        • 1970-01-01
        • 2017-08-14
        • 2011-06-24
        • 1970-01-01
        • 1970-01-01
        • 2013-12-03
        相关资源
        最近更新 更多