OpenCV  4.10.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};
参数
widthSize 的宽度。
heightSize 的高度。

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矩形的宽度和高度。
角度顺时针的旋转角度。当角度为 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);