目标
- 您将学习一些数据结构:Point、Scalar、Size、Circle、Rect、RotatedRect 等。
Scalar 是 Javascript 中的数组类型。Point、Size、Circle、Rect 和 RotatedRect 是 Javascript 中的对象类型。
Point
有两种构造 Point 的方法,它们是相同的
// 第一种方法
let point = new cv.Point(x, y);
// 第二种方法
let point = {x: x, y: y};
- 参数
-
x | 点的 x 坐标。(原点是图像的左上角) |
y | 点的 y 坐标。 |
Scalar
有两种构造 Scalar 的方法,它们是相同的
// 第一种方法
let scalar = new cv.Scalar(R, G, B, Alpha);
// 第二种方法
let scalar = [R, G, B, Alpha];
- 参数
-
R | 红色通道的像素值。 |
G | 绿色通道的像素值。 |
B | 蓝色通道的像素值。 |
Alpha | Alpha 通道的像素值。 |
Size
有两种构造 Size 的方法,它们是相同的
// 第一种方法
let size = new cv.Size(width, height);
// 第二种方法
let size = {width : width, height : height};
- 参数
-
width | Size 的宽度。 |
height | Size 的高度。 |
Circle
有两种构造 Circle 的方法,它们是相同的
// 第一种方法
let circle = new cv.Circle(center, radius);
// 第二种方法
let circle = {center : center, radius : radius};
- 参数
-
Rect
有两种构造 Rect 的方法,它们是相同的
// 第一种方法
let rect = new cv.Rect(x, y, width, height);
// 第二种方法
let rect = {x : x, y : y, width : width, height : height};
- 参数
-
x | 作为矩形左上角顶点的 x 坐标。 |
y | 作为矩形左上角顶点的 y 坐标。 |
width | 矩形的宽度。 |
height | 矩形的高度。 |
RotatedRect
有两种构造 RotatedRect 的方法,它们是相同的
// 第一种方法
let rotatedRect = new cv.RotatedRect(center, size, angle);
// 第二种方法
let rotatedRect = {center : center, size : size, angle : angle};
- 参数
-
center | 矩形的质量中心。 |
size | 矩形的宽度和高度。 |
角度 | 顺时针的旋转角度。当角度为 0、90、180、270 等时,矩形变为直立矩形。 |
了解如何从 rotatedRect 获取顶点
我们使用函数:cv.RotatedRect.points(rotatedRect)
- 参数
-
let vertices = cv.RotatedRect.points(rotatedRect);
let point1 = vertices[0];
let point2 = vertices[1];
let point3 = vertices[2];
let point4 = vertices[3];
了解如何从 rotatedRect 获取边界矩形
我们使用函数:cv.RotatedRect.boundingRect(rotatedRect)
- 参数
-
let boundingRect = cv.RotatedRect.boundingRect(rotatedRect);