原文地址:https://docs.opencv.org/3.4/d5/df1/tutorial_js_some_data_structures.html
目标
- 掌握一些数据结构:Point、Scalar、Size、Circle、Rect、RotatedRect
除了Scalar是数组(Array)类型外,Point、Size、Circle、Rect、RotatedRect都是对象(object)类型。
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};
参数说明
center | 圆心 |
radius | 半径 |
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(旋转矩形)
两种构造方法:
let rotatedRect = new cv.RotatedRect(center, size, angle);
let rotatedRect = {center : center, size : size, angle : angle};
参数说明
center | 矩形质心 |
size | 矩形的宽和高 |
angle | 顺时针旋转角度。 |
获取旋转矩形顶点的方法:
使用函数:cv.RotatedRect.points(rotatedRect)
参数说明
rotatedRect | 旋转矩形 |
let vertices = cv.RotatedRect.points(rotatedRect);
let point1 = vertices[0];
let point2 = vertices[1];
let point3 = vertices[2];
let point4 = vertices[3];
获取旋转矩形的外接矩形的方法:
使用函数:cv.RotatedRect.boundingRect(rotatedRect)
参数说明
rotatedRect | 旋转矩形 |
let boundingRect = cv.RotatedRect.boundingRect(rotatedRect);