如何选择图像插值方法? (Emgu / OpenCV的)

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

> CV_INTER_NN(默认)
> CV_INTER_LINEAR
> CV_INTER_CUBIC
> CV_INTER_AREA

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

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

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

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

线性内插不太快,但不会导致信息丢失,除非您正在缩小图像(您是)。

立方插值(可能实际上是“Bicubic”)使用包含多个相邻像素的许多可能公式之一。这对于缩小图像来说更好,但是您仍然有限的信息丢失可以减少多少。根据算法,您可以将图像减少50%或75%。这种方法的主要结论是它慢得多。

不知道“区域”是什么 – 它实际上可能是“Bicubic”。很可能,此设置将给您最好的结果(信息丢失/外观),但是以最长的处理时间为代价。

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

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

http://stackoverflow.com/questions/3112364/how-do-i-choose-an-image-interpolation-method-emgu-opencv

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何选择图像插值方法? (Emgu / OpenCV的)