opencv图像处理——存储结构 Mat (Matrices)

在opencv中,图像用一个矩阵数组表示,类名为Mat(Matrices的前三个字母的缩写)。类Mat表示一个n维密度数值的单通道或多通道数组。它可用于存储实数或复数向量、以及矩阵、灰度图像或彩色图像、立体像素(voxel)体积、向量域(fields)、点云(point clouds,一系列在三维空间中描述物体几何形状的点)、张量(tensors)、直方图(不过,非常高维的直方图可能存储在 SparseMat 中更好)。数组M的数据布局由数组M.step\[\]所定义,因此,元素 的地址(其中, )计算为

在二维数组的情况下,上述公式缩减为

注意, ( 事实上, )

这意味着,二维矩阵是逐行存储的 ,三维矩阵逐平面存储的 ,如此,等等。 是最小的,并且总是等于元素数目 M.elemSize()。因此,Mat 中的数据布局与标准工具包和 SDK 中的大多数密度数组类型兼容,例如 Numpy (ndarray)、Win32(独立设备位图)等,即使用逐步 (steps)(或大步(strides))的任何数组来计算像素的位置。由于这种兼容性,可以为用户分配的数据创建 Mat 头文件并使用 OpenCV 函数就地处理它。

相关推荐
alonglong3 分钟前
本地把工业级 TTS 跑通:IndexTTS-2.5 在 Mac MPS 上的部署与推理工程实录
人工智能
wangfpp4 分钟前
手写 MCP 接入:搞懂工具即插即用
人工智能
yumengxt5 分钟前
百度 AI 搜索核心能力与实测表现深度评测
人工智能·百度
Yyq130208696829 分钟前
AX8860,对标NVIDIA DGX Spark,端侧大算力芯片
人工智能
xunberg10 分钟前
【Agent 生产化手记-02】Agent 怎么向人提问
人工智能·算法·架构
TK泰妞10 分钟前
TikTok 商品视频素材库怎么建?从文件命名到复用管理的完整方法
人工智能·音视频
土木AI提效大古13 分钟前
Vercel + Spaceship 全自动部署:8 分钟上线一个站,附 3 个坑的排查记录
人工智能
小蒋观天下16 分钟前
网络抖动、乱序、丢包:UDP/RTSP/TCP对AI抓拍、轨迹跟踪的不同影响
大数据·人工智能·深度学习
移动开发者实验室18 分钟前
被 App Store 截图折腾了几次后,我开源了一个 AI 截图生成工具
人工智能·开源
一只爱撸猫的程序猿25 分钟前
全球出货第二,却不在 AI 的默认推荐里:一份悖论解剖报告
人工智能·python·产品