【OpenCV官方文档】图像处理篇-基础几何

结构体/类

  • Scalar 标量类(用于表示颜色,BGR)
  • Point 2D点

基础几何API

  • 直线 line()
  • 矩阵 rectagle()
  • 椭圆 ellipse()
  • 圆 circle()
  • 多边形 fillPoly()

文档中使用上述API绘制了

  • atom(原子)
  • thickness (国际象棋车)

Atom流程

1、创建矩阵Mat,申请空间;
2、设置椭圆大小以及不同角度,设置圆心大小;
3、显示Mat

void MyEllipse(Mat img, double angle) {
    int thickness = 2;
    int lineType = LINE_8;

    ellipse(img,
        Point(w / 2, w / 2),
        Size(w / 4, w / 16),
        angle,
        0,
        360,
        Scalar(255, 0, 0),
        thickness,
        lineType
    );
}

thickness流程

1、创建矩阵,申请空间;
2、设置多边形的顶点序列,调用fillPoly;
3、调用imshow,显示Mat。

Point rook_points[1][20];
rook_points[0][0] = Point(w / 4, 7 * w / 8);
rook_points[0][1] = Point(3 * w / 4, 7 * w / 8);
rook_points[0][2] = Point(3 * w / 4, 13 * w / 16);
rook_points[0][3] = Point(11 * w / 16, 13 * w / 16);
rook_points[0][4] = Point(19 * w / 32, 3 * w / 8);
rook_points[0][5] = Point(3 * w / 4, 3 * w / 8);
// …………
rook_points[0][18] = Point(5 * w / 16, 13 * w / 16);
rook_points[0][19] = Point(w / 4, 13 * w / 16);
const Point* ppt[1] = { rook_points[0] };
int npt[] = { 20 };

// 注意传参 ppt, npt 部分
fillPoly(img,
    ppt,
    npt,
    1,
    Scalar(255, 255, 255),
    lineType);
posted @ 2020-11-06 16:13  卧听惊涛骇浪  阅读(77)  评论(0)    收藏  举报