gpt4 book ai didi

opencv - 负载训练的SVM – Emgu CV

转载 作者:行者123 更新时间:2023-12-02 16:56:07 26 4
gpt4 key购买 nike

我对SVM和对象识别有些陌生,目前正在尝试使用Emgu CV 3.0训练SVM,将其保存到文件中,然后加载(在HOGDescriptor.SetSVMDetector中使用)。

但是,除其他问题外,保存后我无法找到加载SVM的方法。

到目前为止,我的代码基本上执行以下操作:

SVM myFirstSVM = new SVM();

// do some stuff, set some parameters...

myFirstSVM.Train(someParameters);

myFirstSVM.Save("filePath");

从这里开始,问题在于 在保存后重新加载SVM到。我检查了几个帮助主题和页面,发现的唯一相关内容与OpenCV有关,它使用以下方法:
SVM mySecondSVM;

mySecondSVM.load("filePath");

但是,我似乎在Emgu 3.0中找不到方法“.load()”,尽管它似乎存在于以前的版本中。 Emgu 3.0中是否有与此OpenCV方法等效的方法?我以为有,而且我相信它很简单,但是我一生都找不到。

最佳答案

对于EmguCV 3.0.0,似乎不支持Save/Load功能(不存在Load),可以改用Write/Read

保存SVM模型的功能:

public static void SaveSVMToFile(SVM model, String path) {
if (File.Exists(path)) File.Delete(path);
FileStorage fs = new FileStorage(path, FileStorage.Mode.Write);
model.Write(fs);
fs.ReleaseAndGetString();
}

加载SVM模型的函​​数提供了正确的路径:
public static SVM LoadSVMFromFile(String path) {
SVM svm = new SVM();
FileStorage fs = new FileStorage(path, FileStorage.Mode.Read);
svm.Read(fs.GetRoot());
fs.ReleaseAndGetString();
return svm;
}

关于opencv - 负载训练的SVM – Emgu CV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35732489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com