如何加快SURF的通信匹配过程?我使用提供的样本并将其更改为从网络摄像头捕获彩色图像进行处理,但速度肯定需要改进。这应该在哪里解决?OpenCV SURF,捕获的视频是否正常?如何加快速度?
4
A
回答
3
首先,SURF(至少,OpenCV的)只支持灰色图片。
有大量的描述符参数avalable调整,将其设置为较低的值可以提高性能:
typedef struct CvSURFParams
{
int extended; // 0 means basic descriptors (64 elements each),
// 1 means extended descriptors (128 elements each)
double hessianThreshold; // only features with keypoint.hessian
// larger than that are extracted.
// good default value is ~300-500 (can depend on the
// average local contrast and sharpness of the image).
// user can further filter out some features based on
// their hessian values and other characteristics.
int nOctaves; // the number of octaves to be used for extraction.
// With each next octave the feature size is doubled
// (3 by default)
int nOctaveLayers; // The number of layers within each octave
// (4 by default)
}
CvSURFParams;
此外,检查出原来article和notes on OpenSURF lib
0
有一个与cvRound功能的问题,就是通过广泛SURF代码中使用。总而言之,函数重载带有double和float之间的附加类型转换,这会减慢舍入代码。您可以在这里找到详细的解释,以及速度测量和补丁:http://computer-vision-talks.com/2011/06/a-few-thoughts-about-cvround/。