如何将ANN_MLP算法API从C转换为C ++

时间:2019-03-01 07:36:38

标签: c++ image-processing machine-learning neural-network opencv4

在c中,使用ANN_MLP算法,我有以下代码,

CvANN_MLP NN;
 NN.load (filename);
 cvInitMatHeader (&m_p, 1, 40, CV_32FC1, NULL);
 cvSetData (&m_p, fFeature, sizeof (float) * 40);
 CvMat *classificationResult = cvCreateMat(1, 2, CV_32FC1);
 NN.predict (&m_p , classificationResult);

我想将此代码更改为c ++, 我尝试像上面的代码一样这样做

 Ptr<cv::ml::ANN_MLP> NN = cv::ml::ANN_MLP::create();
 NN = Algorithm::load<ml::ANN_MLP>(filename);
 cv::Mat m_p(1, 40, CV_32FC1, NULL);

现在我在c ++中找不到cvsetdata的等效项。是否有其他方法可以按照以下步骤操作?或任何清除算法实现或过渡的资源?

1 个答案:

答案 0 :(得分:0)

见opencv的简单示例:here

cvSetdata的等效项是cv :: TrainData类。此类可以在其他分类算法中使用。