嗨,我一直在尝试使用OpenCV识别手签名(数字)。我遇到了一个问题,其中1和2显示了相同数量的凸性缺陷。我认为我可以纠正这一点的一种方法是通过绘制一个边界矩形,并找到凸壳的面积与边界矩形的面积之比。然而,我不知道如何做到这一点。
vector<vector<Point>> hull;
我感兴趣的船体指数是k;
我如何为这个凸壳绘制一个旋转的矩形?
// Assuming
// vector<vector<Point>> hull;
// Mat3b frame;
if((k >= 0) && (k < hull.size()) && (!hull[k].empty()))
{
RotatedRect rotated = minAreaRect(hull[k]);
Point2f rect_points[4];
rotated.points( rect_points );
for( int j = 0; j < 4; j++ ) {
line( frame, rect_points[j], rect_points[(j+1)%4], Scalar(255,0,0), 1, 8 );
}
}