为凸包绘制minarea矩形

时间:2015-07-12 14:05:38

标签: c++ opencv

您好我一直在尝试使用OpenCV识别手签名(数字)。我遇到的问题是1和2显示相同数量的凸性缺陷。 我认为可以纠正这种情况的一种方法是绘制一个Minbounding矩形......并找到凸包的面积与边界矩形的面积之比。 但是我不知道该怎么做。

vector<vector<Point>> hull;

我感兴趣的船体索引是k;

如何为这个凸包绘制一个旋转的矩形?

1 个答案:

答案 0 :(得分:1)

// 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 );
    }
}
相关问题