OpenCV的ml模块实现了很多算法,包括朴素贝叶斯、K近邻、SVM、决策树、Boosting、GBT、随机森林、神经网络等。其大多继承自同一基类,训练和预测的接口都是train(),predict(),使用较为方便。
神经网络:
opencv实现人工神经网络(Artificial Neural Networks)最典型的多层感知器(multi-layer perceptrons, MLP)模型,CvANN_MLP。
opencv文档中关于神经网络及其API的介绍:Neural Networks
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/ml/ml.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
CvANN_MLP bp; //bp网络
CvANN_MLP_TrainParams params; //bp网络参数
params.train_method = CvANN_MLP_TrainParams::BACKPROP;//使用简单的BP算法,还可使用RPROP
params.bp_dw_scale = 0.1;
params.bp_moment_scale = 0.1;
float labels[4][2]