我想获取二进制图像中包含的每个符号的描述符,以便我可以使用SVM进行训练/预测。我想我需要找到图像中每个符号的轮廓,然后提取每个描述符(每个轮廓一个)。我使用huMoments
获取符号的描述符,为此我需要符号的时刻。
函数moments()
接收图像作为Mat
对象或点矢量。这意味着我可以传递contours()
返回的点的向量以及二维图像,其中我绘制并填充该特定轮廓。所以我的问题是:
我使用contours()
返回的向量作为参数的时刻和使用绘制轮廓的图像得到的时刻之间有什么区别吗?在精度方面,一种选择比另一种更好吗?
假设我从contours()
得到的点矢量是这样的(这是一个例子而不是函数计算的真实点):
如果我绘制由Mat
中的点矢量形成的轮廓并填充内部部分,我会得到如下图像:
我的问题是,第二张图像moments()
在SVM学习/预测时是否比点矢量(第一张图像)带来更多信息,因此提高了预测的准确性?