zoukankan      html  css  js  c++  java
  • sparsemat 函数

    在高维直方图绘制中使用,接省内存

    OpenCV中一般一张图片在内存中用Mat来表述及管理,Mat内部申请一块类似与数组的内存用于存储图片中的每个像素的值即为稠密矩阵,但是有时在矩阵中其值为零的元素远远多于非为零的元素个数即稀疏矩阵,如何此时还使用Mat进行存储 显然非常浪费空间,为了应对此中场景,OpenCV使用SparseMat类来应对稀疏矩阵场景,稀疏矩阵内部内存为一个hash表,其值为0的元素其实并没有占用内存空间,只存储其值为非零的元素,值为0的元素不占用内存空间,同时为了保证查找速度快 内部使用一个hash表进程存储。下面看来自于“Learning OpenCV3”中一段对cv::SparseMat优劣势说明


     SparseMat() 默认构造函数


    SparseMat(int dims, const int* _sizes, int _type)
    使用数组参数构造函数,与mat类似

    dims,为维度,_sizes为数组,表示每个维度大小,数组大小与维度一致。

    _type代表的是数据类型,如:CV_8U 、CV_16U 、CV_32F等

    parseMat(const SparseMat& m) 拷贝函数
    explicit SparseMat(const Mat& m) 参数为Mat的拷贝函数,可以利用此根据mat生成一个SparseMat

  • 相关阅读:
    PTA A1005&A1006
    PTA A1003&A1004
    PTA A1001&A1002
    MOOC web前端开发笔记(二)
    MOOC web前端开发笔记(一)
    MOOC C++笔记(三):类和对象提高
    MOOC C++笔记(二):类和对象基础
    MOOC C++笔记(一):从C到C++
    linux command tee
    modbus数据格式(一)
  • 原文地址:https://www.cnblogs.com/KAVEI/p/14688469.html
Copyright © 2011-2022 走看看