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

目标

  • 你将学习一些数据结构:PointScalarSizeCircleRectRotatedRect 等。

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);