cvResize解释,OpenCV

时间:2013-06-26 10:05:58

标签: c++ opencv

我已经研究过Computer Vision一段时间了,并阅读了OpenCV源代码。令人沮丧的是因为源代码对我来说似乎并不清楚。我对cvResize有一个特殊的问题。我理解线性插值,但代码太复杂,无法读取。有没有人知道cvResize如何工作,并且结构设置谁可以向我解释?

2 个答案:

答案 0 :(得分:3)

不建议查看OpenCV的源代码,主要是因为以下原因:

  1. 如果您正在使用C接口,那么您可能正在查看C ++接口的包装器(如果您使用OpenCV> = 2.0,则应该使用该接口)。
  2. 许多抽象都适用于所有图像类型(精度,通道数等)。
  3. 特定于硬件的优化使代码更加复杂(例如x86 / x64的SSE / AVX优化)。
  4. 特别是在resize方法中,考虑到源/目标图像大小,可能会有很多边缘情况需要处理。
  5. 为了从高层次了解代码的工作原理,我强烈建议您阅读bilinear interpolationnearest neighbor interpolationLanczos resampling,并寻求以科学语言调整实现的大小比如Matlab。对信号处理和/或线性系统的了解将帮助您了解这些滤波器的质量差异。

答案 1 :(得分:0)

OpenCV文档很模糊,如果你要浏览源代码,我认为你对源代码非常生气,就像我一样:)这需要一段时间,大量的实验和在线阅读。慢慢填补空白

  1. 假设您使用的是OpenCV的C接口
  2. 您可能应该通过this book了解cvResize
  3. 除非你,否则你不会学习cvResize的所有选项 了解插值,双线性,立方是什么意思。这些并不是一件容易的事情,但你必须从小理论上知道,然后自己编写程序来测试代码。