您好我一直在尝试使用OpenCV识别手签名(数字)。我遇到的问题是1和2显示相同数量的凸性缺陷。 我认为可以纠正这种情况的一种方法是绘制一个Minbounding矩形......并找到凸包的面积与边界矩形的面积之比。 但是我不知道该怎么做。
vector<vector<Point>> hull;
我感兴趣的船体索引是k;
如何为这个凸包绘制一个旋转的矩形?
答案 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 );
}
}