转载:https://blog.csdn.net/u012507022/article/details/50979011?utm_source=blogxgwz5

最近在写Opencv程序,用到离散小波变换,但Opencv没有提供离散小波变换函数。但找到了离散小波变换函数的C++程序,发现在C++中,可以用 vector<vector<double>> 来表示矩阵。

  1.  
    int Height = 200;
  2.  
    int Width = 400;
  3.  
    vector<vector<double>> signal2(Height,Width);
  4.  
    cout<<"矩阵的行数"<<signal2.size()<<endl;
  5.  
    cout<<"矩阵的列数"<<signal2[0].size()<<endl;

vector<vector<double>>与Mat数据类型可以进行转换

  1.  
    //Mat 转换为vector<vector<double>>
  2.  
    void Mat2vector(Mat &src,vector<vector<double>> &dst)
  3.  
    {
  4.  
    assert( src.rows== dst.size());
  5.  
    MatIterator_<double> it, it2;
  6.  
    it = src.begin<double>();
  7.  
    it2 = src.end<double>();
  8.  
    for(int i=0;i<src.rows;i++)
  9.  
    {
  10.  
    for(int j=0;j<src.cols;j++)
  11.  
    {
  12.  
    dst[i][j]=*it++;
  13.  
    }
  14.  
    }
  15.  
    }
  16.  
    //vector<vector<double>> 转换为Mat
  17.  
    void Vector2Mat(vector<vector<double>>src,Mat dst)
  18.  
    {
  19.  
    assert( dst.rows== src.size());
  20.  
    MatIterator_<double> it = dst.begin<double>();
  21.  
    for(int i=0;i<src.size();i++)
  22.  
    {
  23.  
    for(int j=0;j<src[0].size();j++)
  24.  
    {
  25.  
    *it=src[i][j];
  26.  
    it++;
  27.  
    }
  28.  
    }
  29.  
    }
 

C++vector and opencv Mat的更多相关文章

  1. OpenCV MAT基本图像容器

    参考博客: OpenCv中cv::Mat和IplImage,CvMat之间的转换 Mat - 基本图像容器 Mat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Mat ...

  2. vector类转换Mat类

    前言 一个个数据push back到vector之后,可以使用Mat()函数将vector类型转换为Mat类型. 在opencv中Mat类的构造函数中有一个构造函数可以直接把vector类转换为Mat ...

  3. OPENCV mat类

    OpenCV参考手册之Mat类详解 目标 我们有多种方法可以获得从现实世界的数字图像:数码相机.扫描仪.计算机体层摄影或磁共振成像就是其中的几种.在每种情况下我们(人类)看到了什么是图像.但是,转换图 ...

  4. Matlab to OpenCV Mat

    convert Matlab matrix to OpenCV Mat. Support CV_32FC3 only currently. The Code int matlab2opencv(cv: ...

  5. OpenCV Mat数据类型及位数总结(转载)

    OpenCV Mat数据类型及位数总结(转载) 前言 opencv中很多数据结构为了达到內存使用的最优化,通常都会用它最小上限的空间来分配变量,有的数据结构也会因为图像文件格式的关系而给予适当的变量, ...

  6. OpenCV Mat数据类型指针ptr的使用

    OpenCV Mat数据类型指针ptr的使用 cv::Mat image = cv::Mat(400, 600, CV_8UC1); //宽400,长600 uchar * data00 = imag ...

  7. Qt QImage与OpenCV Mat转换

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51029382 应一个朋友的要求,整理总 ...

  8. 快速遍历OpenCV Mat图像数据的多种方法和性能分析 | opencv mat for loop

    本文首发于个人博客https://kezunlin.me/post/61d55ab4/,欢迎阅读! opencv mat for loop Series Part 1: compile opencv ...

  9. OpenCv Mat操作总结

    Author:: Maddock Date: 2015-03-23 16:33:49 转载请注明出处:http://blog.csdn.net/adong76/article/details/4053 ...

随机推荐

  1. JDK源码分析-ArrayList

    ArrayList 储存结构 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; transient Objec ...

  2. 热更新 && 增量更新

    Unity中SLua.Tolua.XLua和ILRuntime效率评测 http://blog.csdn.net/u011467512/article/details/72716376 如何阅读lua ...

  3. POJ-3255-Roadblocks(次短路的另一种求法)

    Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best friends. Sh ...

  4. [BUUOJ记录] [GYCTF]EasyThinking

    主要考察ThinkPHP6.0的一个任意文件写入的CVE以及突破disable_function的方法. ThinkPHP6.0.0任意文件操作漏洞 理论分析 进入题目是一个简单的操作页面,dirma ...

  5. 18 vue 动态路由传参

    params形式 http://192.168.1.100:8080/#/infoDetailed/231 //定义路由{ path: "/infoDetailed/:newsId" ...

  6. Kubernetes 初体验(先占个坑)

  7. 利用jquery的$.Deferred方法在一个函数内获取另一个函数的返回值

    使用场景:方法B需要方法A执行完成之后再执行,比如方法B中有用到方法A的变量:(需要引入jQuery1.5以后的版本) function A(){ var deffered = new $.Defer ...

  8. LiteOS间歇计算技术:IOT终端真正感受“电量自由”

    摘要:LiteOS间歇计算为什么能使物联网终端实现长续航? 物联网设备.场景复杂多样,小到智能穿戴的耳机,大到大型基建设备,更有我们陌生而又熟悉场景,例如深海探测.森林监控.野生动物跟踪等等能量采集场 ...

  9. Odoo10中calendar视图点击事件

    有个需求,需要根据该条记录的状态字段来控制点击calendar时是否需要打开form视图,解决方案如下:重写了web_calendar的get_fc_init_options()方法中的eventCl ...

  10. 嵌入式Linux软链接使用技巧

    软链接概述 软链接是Linux下常用的一种共享文件方式.目录的方式,这种方式类似于Windows下的快捷方式.一般一个文件或者目录在不同的路径都需要的时候,可以通过创建软链接的方式来共享,这样只系统下 ...