为凸壳绘制矿区矩形

Drawing minarea rectangle for convex hull

本文关键字:矿区 绘制      更新时间:2023-10-16

嗨,我一直在尝试使用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 );
    }
}