Advertisement

cv::Mat矩阵的多种处理方法

阅读量:

cv::Mat赋值的几种方式

  • 1、引言
    • 2、Mat概述

    • 3、Mat数据结构的遍历与赋值方法

      • 方法一
      • 方法二
      • 方法三
    • 4、实验验证

    • 5、文献来源

1、前言

背景:在获取传感器数据之后,需将其保存为图像格式,有时还需对图像中的内容进行处理。由于系统为自主开发,无法直接生成图像,因此对Mat赋值的多种方法进行了研究。建议首先掌握预定义结构类型CV_<bit_depth>(S|U|F)C<number_of_channels>的相关知识,再继续后续内容的学习,这部分内容在此不再详述。


2、Mat简介

Mat这一数据类型可视为一种动态数组结构,其优势在于无需人工干预内存的释放过程。该结构由两部分数据组成:矩阵头(包含矩阵的尺寸、存储方式以及存储地址等关键信息)和一个指向实际存储所有像素值的矩阵的指针(根据不同的存储方式,该矩阵可能具有不同的维度)。在OpenCV中,当进行矩阵赋值操作,例如cv::Mat a = b 或者 cv::Mat a(b)时,实际上是通过浅拷贝的方式实现的,即将a的指针指向b所对应的内存地址,从而使两个矩阵共享同一块内存区域。若希望实现深拷贝,则可以通过调用clone()函数或copyTo()函数来完成。

3、遍历Mat赋值方式

全部评论 (0)

还没有任何评论哟~