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 函数就地处理它。

相关推荐
2501_933329552 小时前
企业舆情处置技术实践:基于AI的智能监测与申诉系统架构解析
人工智能·分布式·架构·系统架构
千寻girling2 小时前
不知道 Java 全栈 + AI 编程有没有搞头 ?
前端·人工智能·后端
君科程序定做2 小时前
多源遥感与深度学习视角下耕地识别与耕地监测的局限性、研究空白与科学问题
人工智能·深度学习
七夜zippoe2 小时前
可解释AI:构建可信的机器学习系统——反事实解释与概念激活实战
人工智能·python·机器学习·可解释性·概念激活
东离与糖宝2 小时前
Java 26+Spring Boot 3.5,微服务启动从3秒压到0.8秒
java·人工智能
Daydream.V3 小时前
OpenCV高端操作——光流估计(附案例)
人工智能·opencv·计算机视觉
冬奇Lab3 小时前
一天一个开源项目(第60篇):IndexTTS - B 站开源的工业级零样本语音合成系统
人工智能·开源·资讯
子兮曰3 小时前
🚀Hermes Agent 爆火真相:19k Star 背后的自学习 Agent 系统
人工智能·agent
AI先驱体验官4 小时前
智能体变现:从技术实现到产品化的实践路径
大数据·人工智能·深度学习·重构·aigc