OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
一些数据结构

目标

  • 你将学习一些数据结构: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蓝色通道的像素值。
AlphaAlpha 通道的像素值。

Size

构造 Size 有两种方法,它们是相同的

// 第一种方法
let size = new cv.Size(width, height);
// 第二种方法
let size = {width : width, height : height};
参数
width大小的宽度。
height大小的高度。

Circle

构造 Circle 有两种方法,它们是相同的

// 第一种方法
let circle = new cv.Circle(center, radius);
// 第二种方法
let circle = {center : center, radius : radius};
参数
center圆的中心。
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矩形的宽度和高度。
angle顺时针方向的旋转角度。当角度为 0, 90, 180, 270 等时,矩形变为直立矩形。

学习如何从 rotatedRect 获取顶点

我们使用函数: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];

学习如何从 rotatedRect 获取边界矩形

我们使用函数:cv.RotatedRect.boundingRect(rotatedRect)

参数
rotatedRect旋转矩形
let boundingRect = cv.RotatedRect.boundingRect(rotatedRect);