理论
点
它表示由其图像坐标x和y指定的2D点。 我们可以将其定义为:
标量
- 表示4元素向量。 Scalar类型在OpenCV中广泛用于传递像素值。
- 在本教程中,我们将广泛使用它来表示BGR颜色值(3个参数)。 如果不使用它,则没有必要定义最后一个参数。
- 让我们看一个例子,如果我们被要求提供颜色参数,我们将定义BGR颜色,例如:Blue = a,Green = b和Red = c。
代码
此代码位于OpenCV示例文件夹中,本处不再提供。
解释
1.由于我们计划绘制两个例子(一个原子和一个车),我们必须创建02个图像和两个窗口来显示它们。
2.我们创建了绘制不同几何形状的函数。 例如,要绘制原子,我们使用MyEllipse和MyFilledCircle:
3.为了绘制车,我们使用了MyLine,矩形和MyPolygon:
4.让我们查看每个函数内部的内容:
我们可以看到,MyLine只调用函数cv :: line,它执行以下操作:
- 从Point start到Point end绘制一条线
- 该行显示在图像img中
- 线颜色由标量(0,0,0)定义,标量是与黑色对应的RGB值
- 线条粗细设置为厚度(在这种情况下为2)
- 该线的连接模式是8(lineType = 8)
从上面的代码中,我们可以观察到函数cv :: ellipse绘制一个椭圆:
- 椭圆显示在图像img中
- 椭圆中心位于(w / 2.0,w / 2.0),并包含在一个大小为(w / 4.0,w / 16.0)的盒子中
- 椭圆旋转角度
- 椭圆在0到360度之间延伸
- 图的颜色将是标量(255,0,0),这意味着RGB值为蓝色。
- 椭圆的线宽为2。
与椭圆函数类似,我们可以观察到圆圈作为参数接收:
- 将显示圆圈的图像(img)
- 圆心表示为点中心
- 圆的半径:w / 32.0
- 圆的颜色:标量(0,0,255),表示BGR中的红色
- 由于厚度= -1,因此圆圈将被填充。
要绘制填充多边形,我们使用函数cv :: fillPoly。 我们注意到:
- 多边形将在img上绘制
- 多边形的顶点是ppt中的点集
- 要绘制的顶点总数是npt
- 要绘制的多边形数量仅为1
- 多边形的颜色由标量(255,255,255)定义,它是白色的BGR值
我们使用Opencv自带的绘制函数,我们注意到:
- 矩形将在rook_image上绘制
- 矩形的两个相对顶点由点(0,7 * w / 8.0)和点(w,w)定义
- 矩形的颜色由标量(0,255,255)给出,它是黄色的BGR值
- 由于厚度值由** - 1 **给出,因此矩形将被填充。