Tom*_*ght 21 interpolation opencv image emgucv
由Emgu(OpenCV的.net包装器)提供的图像大小调整功能可以使用以下四种插值方法中的任何一种:
我粗略地理解线性插值,但只能猜测立方或区域的作用.我怀疑NN代表最近的邻居,但我可能是错的.
我正在调整图像大小的原因是减少像素数量(它们将在某个时刻迭代)同时保持它们的代表性.我之所以提到这一点,是因为在我看来插值是这个目的的核心 - 因此获得正确的类型应该非常重要.
那么我的问题是,每种插值方法的优缺点是什么?它们如何不同,我应该使用哪一个?
Mus*_*sis 23
最近邻居将尽可能快,但在调整大小时您将丢失大量信息.
线性插值速度较慢,但不会导致信息丢失,除非您缩小图像(您正在缩小).
立方插值(可能实际上是"Bicubic")使用包含多个相邻像素的许多可能公式中的一个.这对于缩小图像要好得多,但是如果没有信息丢失,你仍然可以做多少缩减.根据算法,您可以将图像缩小50%或75%.这种方法的主要原因是速度慢得多.
不确定"区域"是什么 - 它实际上可能是"Bicubic".很有可能,此设置将提供最佳结果(在信息丢失/外观方面),但代价是最长的处理时间.
更新: 此链接提供更多详细信息(包括列表中未包含的第五种类型):
http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html?highlight=resize#resize
Fed*_*ina 10
要使用的插值方法取决于您要实现的目标:
CV_INTER_LINEAR或CV_INTER_CUBIC应用低通滤波器(平均值)以实现视觉质量和边缘消除之间的折衷(低通滤波器倾向于去除边缘以减少图像中的混叠).在这两者之间,我建议你CV_INTER_CUBIC.
CV_INTER_NN方法实际上是最近邻,它是最基本的方法,你将获得更清晰的边缘(不会应用低通滤波器).然而,这种方法就像是"缩放"图像,没有视觉增强.
算法是:(描述来自OpenCV文档)
如果你想要更快的速度使用最近邻法.
如果要在下采样后保留图像的质量,可以考虑使用基于INTER_AREA的插值,但同样取决于图像内容.
您可以在此处找到速度比较的详细分析
以下是从上述链接获取的400*400像素图像的速度比较
| 归档时间: |
|
| 查看次数: |
25568 次 |
| 最近记录: |