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)
相关推荐
谷粒.5 分钟前
Cypress vs Playwright vs Selenium:现代Web自动化测试框架深度评测
java·前端·网络·人工智能·python·selenium·测试工具
Dev7z1 小时前
基于MATLAB数学形态学的边缘检测算法仿真实现
算法·计算机视觉·matlab
CareyWYR5 小时前
每周AI论文速递(251201-251205)
人工智能
北京耐用通信6 小时前
电磁阀通讯频频“掉链”?耐达讯自动化Ethernet/IP转DeviceNet救场全行业!
人工智能·物联网·网络协议·安全·自动化·信息与通信
cooldream20096 小时前
小智 AI 智能音箱深度体验全解析:人设、音色、记忆与多场景玩法的全面指南
人工智能·嵌入式硬件·智能音箱
oil欧哟6 小时前
AI 虚拟试穿实战,如何低成本生成模特上身图
人工智能·ai作画
央链知播7 小时前
中国移联元宇宙与人工智能产业委联席秘书长叶毓睿受邀到北京联合大学做大模型智能体现状与趋势专题报告
人工智能·科技·业界资讯
人工智能培训7 小时前
卷积神经网络(CNN)详细介绍及其原理详解(2)
人工智能·神经网络·cnn
懷淰メ7 小时前
【AI加持】基于PyQt5+YOLOv8+DeepSeek的输电隐患检测系统(详细介绍)
yolo·目标检测·计算机视觉·pyqt·deepseek·监测系统·输电隐患
YIN_尹7 小时前
目标检测模型量化加速在 openEuler 上的实现
人工智能·目标检测·计算机视觉