首页 > 其他分享 >Mat的一些小知识

Mat的一些小知识

时间:2024-06-19 22:13:50浏览次数:17  
标签:储存 Mat 知识 矩阵 --- OpenCV 一些 指针

Mat的一些简单注意点

1.历史

  1.早期的OpenCV是以Ipllmage的结构体作为图像的数据格式,需要手动进行内存管理,这时候是基于C的
  2.OpenCV2.0后引进了一种新的针对于C++的接口Mat对象,不需要用户手动进行内存管理

2.略解

Mat的数据部分:
  矩阵头(包含矩阵大小,用于储存的方法、储存矩阵的地址信息、引用计数等)
  指向储存数据的指针

Mat的复制与清理:
  Mat这个部分OpenCV采用了参考计数系统:其中每一个Mat对象队友自己的头,包含了图像的基本信息(大小、类型、通道),两个Mat对象都是通过矩阵指针指向同一个地址来共享矩阵,节省储存空间,相互之间复制一般也是复制矩阵头与矩阵指针,图像的数据本身还是共享的。

    Mat A,B;
    A=cv::imread(_path);
    B=A;
    Mat C=A;

  这里面的几个就是矩阵头不一样,数据都是一样的
  当多个对象都同时使用同一个矩阵的时候,是由最后一个使用它的对象进行清理
  如果需要保存原数据并且还要更改的时候,这时候就会用clone或者copyTo来进行深拷贝
通道储存方式:
  OpenCV的储存方式(BGR)不同于一般的图像储存方式(RGB),这个应该是历史遗留的问题

Mat元素的访问:
  1.直接指针访问---性能最好
  2.迭代器MatIterator---这种应该更安全一点针对于数据不是连续储存的
  3.带引用返回的动态地址计算方式 Mat.at()
  4.用自带函数LUT---这个我没有用过

标签:储存,Mat,知识,矩阵,---,OpenCV,一些,指针
From: https://www.cnblogs.com/PassbyAnt/p/18257300

相关文章

  • 一些关于马克思主义的电子书
    一些关于马克思主义的书:《马克思主义概论》--作者:李泳主编;徐律,王淑梅,杜金铭副主编出版社:成都:西南交通大学出版社ISBN:781022123X《马克思主义原理》--作者:朱奎保,范竹增等主编出版社:上海:上海交通大学出版社ISBN:7313005237《当代国外马克思主义新思潮研究从西......
  • matlab实验3
    一、实验目的掌握共轭梯度法的基本思想及其迭代步骤;学会运用MATLAB编程实现常用优化算法;能够正确处理实验数据和分析实验结果及调试程序。二、实验内容 (1)求解无约束优化问题:minf(x)=100(x1^2-x2)^2+(x1-1)^2,x∈R;(2)终止准则取||f(x^k)||<=10^-5,搜索方法采用非精确搜索Armijo;......
  • matlab实验4
    一、实验目的掌握共轭梯度法的基本思想及其迭代步骤;学会运用MATLAB编程实现常用优化算法;能够正确处理实验数据和分析实验结果及调试程序。二、实验内容 (1)求解无约束优化问题:minf(x)=100(x1^2-x2)^2+(x1-1)^2,x∈R;(2)终止准则取||f(x^k)||<=10^-5,搜索方法采用非精确搜索Armijo;......
  • matlab实验
    一、实验目的掌握Hesse矩阵的计算方法和Newton法的基本思想及其迭代步骤;学会运用MATLAB编程实现常用优化算法;正确处理实验数据和分析实验结果及调试程序。二、实验内容(1)求解无约束优化问题(3)完成Newton法(牛顿法)的MATLAB编程、调试;(4)选取几个与实验二中相同的初始点,并给出相关实......
  • matlab最优化工具箱
    一、实验目的(一)通过一个农业生产计划优化安排的实例求解,培养学生解决实际线性规划问题的初步能力;熟悉线性规划的建模过程;掌握Matlab优化工具箱中线性规划函数的调用。二、实验内容(一)某村计划在100公顷的土地上种植a、b、c三种农作物。可以提供的劳力、粪肥和化肥等资源的数量,种......
  • 13-Matplotlib坐标轴格式
    Matplotlib坐标轴格式在一个函数图像中,有时自变量x与因变量y是指数对应关系,这时需要将坐标轴刻度设置为对数刻度。Matplotlib通过axes对象的xscale或yscale属性来实现对坐标轴的格式设置。示例:右侧的子图显示对数刻度,左侧子图则显示标量刻度。importmatplotlib.p......
  • 区间预测 | Matlab实现的集成双向长短期记忆网络自适应带宽核密度BiLSTM-Adaboost-ABK
    %设置参数numLSTM=3;%LSTM模型数量numBoost=5;%Adaboost迭代次数%加载数据load(‘data.mat’);%替换为您的数据文件%数据预处理%…%初始化LSTM模型lstmModels=cell(numLSTM,1);fori=1:numLSTMlstmModels{i}=trainLSTMModel(data);%使用......
  • hadoop一些相关知识
    大数据概念什么是大数据?大数据是指高速(velocity)涌现的大量(volume)多样化(variety)具有一定价值(value)并且真实(veracity)的数据,其特性可简单概括为5V。原理流程数据采集大数据首先需要将来自不同来源和应用的数据汇集在一起。需要导入和处理数据、执行格式化操作,以符合业......
  • 基于GWO-CNN-LSTM数据时间序列预测(多输入单输出)-多维时间序列模型-MATLAB实现
    基于GWO-CNN-LSTM数据时间序列预测(多输入单输出)-多维时间序列模型-MATLAB实现基于灰狼优化(GreyWolfOptimizer,GWO)、卷积神经网络(ConvolutionalNeuralNetwork,CNN)和长短期记忆网络(LongShort-TermMemory,LSTM)的多维时间序列预测模型是一种复杂且有效的深度学习方法,适......
  • 【优化设计】基于泊松方程求解形状优化设计问题附Matlab代码
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......