之前看opencv源码的时候,因为调用一些opencv自带的特征进行特征提取并训练会用到featureType这个变量
这个变量其实质是oepncv中所有能使用的特征的列表, 经常想确定这个特征到底能不能在我们的模块使用时
就要用到Algorithm的函数 getList了 之前写了个代码 返回的getList只有一个 觉得很纳闷 后来在opencv论坛上问了下老外
才知道使用之前需要对各个模块初始化,代码如下:
#include <opencv\cv.h>
#include <opencv\highgui.h>
#include <opencv2\core\core.hpp>
#include <opencv2\video.hpp>
#include <opencv2\contrib.hpp>
#include <opencv2\softcascade.hpp>
#include <vector>
using namespace std;
int main( int argc, char** argv )
{
cv::initModule_ml();
cv::initModule_features2d();
cv::initModule_video();
cv::initModule_contrib();
//cv::softcascade::initModule_softcascade();
std::vector<cv::String> algorithms;
cv::Algorithm::getList(algorithms);
cout << "Algorithms: " << (int)algorithms.size() << endl;
for (int i=0; i<(int)algorithms.size(); i++) {
cout << algorithms[i] << endl;
}
getchar();
return 0;
}