【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);
只知道方法,却忘记了努力,因小失大。

浙公网安备 33010602011771号