Emgu ( .net包装器用于OpenCV)提供的图像调整功能可以使用四种插值方法之一。
我大致理解线性插值,但只能猜出立方体或面积的作用。我怀疑NN代表最近的邻居,但我可能错了。
我调整图像大小的原因是为了减少像素的数量(它们在某个时候会被迭代),同时保持它们的代表性。我之所以提到这一点,是因为在我看来,插值是这个目的的核心--因此,获得正确的类型应该是相当重要的。
那么,我的问题是,每种插值方法的优缺点是什么?它们有什么不同,我应该使用哪一种?
发布于 2010-06-24 17:38:48
最近的邻居将尽可能快,但当调整大小时,您将丢失大量信息。
线性插值速度较慢,但除非缩小图像(实际上是这样),否则不会导致信息丢失。
三次插值(可能实际上是"Bicubic")使用了包含多个相邻像素的许多可能公式之一。这对于缩小图像来说要好得多,但对于在不丢失信息的情况下,您可以做多少收缩,您仍然是有限的。根据算法的不同,您可能可以将图像减少50%或75%。这种方法的主要缺点是速度慢得多。
不知道什么是“区域”-它可能实际上是“双比克”。在所有可能的情况下,这个设置将给您最好的结果(就信息丢失/外观而言),但代价是最长的处理时间。
更新:此链接提供了更多详细信息(包括列表中未包括的第五种类型):
transformations.html?highlight=resize#resize
发布于 2017-05-31 07:24:06
算法是:(描述来自OpenCV文档)
如果您需要更多的速度,使用最近的邻居方法。
如果你想在下采样后保持图像的质量,你可以考虑使用基于INTER_AREA的插值,但它同样取决于图像的内容。
您可以找到速度比较这里的详细分析。
以下是从上述链接拍摄的400*400 px图像的速度比较。

发布于 2010-06-24 17:40:46
要使用的插值方法取决于您试图实现的目标:
CV_INTER_LINEAR或CV_INTER_CUBIC应用低通滤波器(平均)来实现视觉质量和边缘去除之间的权衡(低通滤波器倾向于去除边缘,以减少图像中的混叠)。在这两者之间,我推荐你CV_INTER_CUBIC.
CV_INTER_NN方法实际上是最近的,它是最基本的方法,你会得到更清晰的边缘(不使用低通滤波器)。然而,这种方法只是像“放大”图像,没有视觉增强。
https://stackoverflow.com/questions/3112364
复制相似问题