【发布时间】:2017-04-21 00:47:47
【问题描述】:
我正在使用 opencv 的 cv::ml::LogisticRegression 类,并已将其序列化并使用 cv::Algorithm::save 方法将其保存到文件中,并尝试使用 cv::ml::LogisticRegression::load 将文件加载回 Ptr<LogisticRegression>,如 @ 中所述987654321@,我的保存代码是这样的:
Ptr<cv::ml::LogisticRegression> logisReg = logisticRegression(features_train, labels_train);
logisReg->save("mFileName");
并加载代码(不同的地方)
Ptr<cv::ml::LogisticRegression> logisReg = cv::ml::LogisticRegression::load("mFileName", "Logisitic Regression Classifier");
保存代码工作正常,序列化文件内容有意义(纯文本)。但是,当我尝试编译加载它时,我得到了这个错误:
main.cpp:97:5: error: no matching function for call to 'load'
cv::ml::LogisticRegression::load("logisReg.auracle", "Logisitic Regression Classifier");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/opt/opencv3/include/opencv2/core.hpp:3074:44: note: candidate template ignored: couldn't infer template argument '_Tp'
template<typename _Tp> static Ptr<_Tp> load(const String& filename, const String& objname=String())
^
1 error generated.
make: *** [main.o] Error 1
【问题讨论】:
标签: c++ opencv templates serialization namespaces