OpenCV 常见数据类型

OpenCV 是一个轻量级高效的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的多种通用算法。所谓的图像可以理解为一个数组,图像处理就是对数组的处理。首先,本文将介绍 OpenCV 中常见的数据类型,包括点 Point类、颜色 Scalar 类、尺寸 Size 类、矩形 Rect 类、矩阵 Mat 类 。

(1)点 Point

表示二维坐标系中的点,含 x 和 y。其示例如下:

python 复制代码
#OpenCV 示例
Point p; p.x=1, p.y=2;
Point p=Point(1, 2);

#Python 示例
points_list = [(160, 160), (136, 160)]

(2)颜色 Scalar

包含四个元素的数组,设置像素值 RGB 三通道,第四个参数可忽略。其示例如下:

python 复制代码
#OpenCV 示例 BGR 三分量
Scalar(b, g, r);

#Python 示例
(0, 0, 255)

(3)尺寸 Size

它和 Point 相似,主要成员包括 height 和 width。其示例如下:

python 复制代码
#OpenCV 示例
Size(5, 5);
Size_(_Tp _width, _Tp _height);

#Python 示例
width, height = img.shape

(4)矩形 Rect

Rect 类称为矩形类,包含 Point 类的成员 x 和 y(代表矩形左上角的坐标)和 Size 类的成员 width 和 height(代表矩形的大小)。其示例如下:

python 复制代码
#OpenCV 示例
Rect rect = rect1 & rect2; #求两矩形交集
Rect rect = rect1 | rect2; #求两矩形并集
Rect rectShift = rect + point; #矩形平移
Rect rect = rect1 + size; #矩形缩放


#Python 示例
cv2.rectangle(img, (20,20), (150,250), (255,0,0), 2)

(5)矩阵 Mat

通用的矩阵类,用来创建和操作多维矩阵。其示例如下:

python 复制代码
#OpenCV 示例
Mat M(3,2, CV_8UC3, Scalar(0,0,255));


#Python 示例
np.zeros((256,256,3), np.uint8)
相关推荐
DisonTangor6 分钟前
【百度拥抱开源】介绍ERNIE-4.5-VL-28B-A3B-Thinking:多模态AI的重大突破
人工智能·百度·语言模型·开源·aigc
F_D_Z18 分钟前
【解决办法】报错Found dtype Long but expected Float
人工智能·python
pen-ai25 分钟前
【高级机器学习】 12. 强化学习,Q-learning, DQN
人工智能·机器学习
受之以蒙37 分钟前
Rust ndarray 高性能计算:从元素操作到矩阵运算的优化实践
人工智能·笔记·rust
野生面壁者章北海43 分钟前
NeurIPS 2024|大语言模型高保真文本水印新范式
人工智能·语言模型·自然语言处理
KG_LLM图谱增强大模型44 分钟前
如何利用大语言模型(LLM)实现自动标注与内容增强
人工智能·知识管理·内容管理·本体论·图谱增强大模型·自动标签·大模型内容标注
数据与后端架构提升之路1 小时前
小鹏VLA 2.0的“神秘涌现”:从痛苦到突破,自动驾驶与机器人如何突然“开窍”?
人工智能·机器人·自动驾驶
fruge1 小时前
CANN核心特性深度解析:简化AI开发的技术优势
人工智能
沛沛老爹2 小时前
AI入门知识之RAFT方法:基于微调的RAG优化技术详解
人工智能·llm·sft·raft·rag
zskj_zhyl2 小时前
科技助老与智慧养老的国家级政策与地方实践探索
大数据·人工智能·科技