
#include <opencv2/ml/ml.hpp> // 引入OpenCV的机器学习模块
using namespace std; // 使用标准命名空间
using namespace cv; // 使用OpenCV命名空间
using namespace cv::ml; // 使用OpenCV机器学习命名空间
int main()
{
//创建随机训练数据
Mat_<float> data(100, 100); // 申请100行100列的浮点数矩阵作为数据
randn(data, Mat::zeros(1, 1, data.type()), Mat::ones(1, 1, data.type())); // 用正态分布随机填充数据,均值为0,方差为1
//为每个类别创建一半的样本
Mat_<float> responses(data.rows, 2); // 申请与data行数相同,2列的浮点数矩阵作为响应(输出)
for (int i = 0; i<data.rows; ++i) // 遍历所有样本
{
if (i < data.rows/2)
{
responses(i, 0) = 1; // 前半部分样本标记为第一类
responses(i, 1) = 0;
}
else
{
responses(i, 0) = 0; // 后半部分样本标记为第二类
responses(i, 1) = 1;
}
}
/*
// 如果