我正在尝试获取与SVM相关的超平面。为了简单起见,让我们假设使用example in OpenCV's page。如何在OpenCV SVM中获得分离超平面?
在这里,它们被构建的“图像”以如下方式使用样品输出的集合:
// Show the decision regions given by the SVM
Vec3b green(0,255,0), blue (255,0,0);
for (int i = 0; i < image.rows; ++i)
{
for (int j = 0; j < image.cols; ++j)
{
Mat sampleMat = (Mat_<float>(1,2) << j,i);
float response = svm->predict(sampleMat);
if (response == 1)
image.at<Vec3b>(i,j) = green;
else if (response == -1)
image.at<Vec3b>(i,j) = blue;
}
}
绿色和蓝色类之间的线被示出为分离超平面。
现在,我的问题是:我如何获得这一行作为点或cv :: Mat的向量做进一步处理?
您是否需要从图像中找出超平面坐标,或者从svm参数中找出数学的坐标? – Miki
数学上来自SVM参数。 – scap3y