//dic: 字典矩阵;
//signal :待重构信号(一次只能重构一个信号,即一个向量)
//min_residual: 最小残差
//sparsity:稀疏度
//coe:重构系数
//atom_index:字典原子选择序号
//返回最后的残差
float OMP(    Mat& dic,Mat& signal,float min_residual,int sparsity,Mat& coe,vector<int>& atom_index){if(signal.cols>1){cout<<"wrong signal"<<endl;return -1;}signal=signal/norm(signal);  //信号单位化Mat temp(1,dic.cols,5);for(int i=0;i<dic.cols;i++){temp.col(i)=norm(dic.col(i));  //每个原子的模长
    }divide(dic,repeat(temp,dic.rows,1),dic); //字典原子单位化Mat residual = signal.clone();  //初始化残差coe.create(0, 1, CV_32FC1);  //初始化系数Mat phi;    //保存已选出的原子向量float max_coefficient;unsigned int atom_id;  //每次所选择的原子的序号for(;;){max_coefficient = 0;//取出内积最大列for (int i = 0; i <dic.cols; i++){float coefficient = (float)dic.col(i).dot(residual); if (abs(coefficient) > abs(max_coefficient)){max_coefficient = coefficient;atom_id = i;}}atom_index.push_back(atom_id); //添加选出的原子序号        Mat& temp_atom= dic.col(atom_id); //取出该原子if (phi.cols == 0)phi = temp_atom;elsehconcat(phi,temp_atom,phi); //将新原子合并到原子集合中(都是列向量)
        coe.push_back(0.0f);    //对系数矩阵新加一项solve(phi, signal,coe, DECOMP_SVD);    //求解最小二乘问题
residual = signal - phi*coe;  //更新残差float res_norm = (float)norm(residual);if (coe.rows >= sparsity || res_norm <= min_residual) //如果残差小于阈值或达到要求的稀疏度,就返回
        {return res_norm;}}
}

opencv实现正交匹配追踪算法OMP相关推荐

  1. 正交匹配追踪算法OMP(Orthogonal Matching Pursuit)

    正交匹配追踪算法OMP(Orthogonal Matching Pursuit) 本文主要基于文献<Orthogonal Matching Pursuit for Sparse Signal R ...

  2. 浅谈压缩感知(九):正交匹配追踪算法OMP

    浅谈压缩感知(九):正交匹配追踪算法OMP 主要内容: OMP算法介绍 OMP的MATLAB实现 OMP中的数学知识 一.OMP算法介绍 来源:http://blog.csdn.net/scucj/a ...

  3. 浅谈压缩感知(二十一):压缩感知重构算法之正交匹配追踪(OMP)

    主要内容: OMP的算法流程 OMP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.OMP的算法流程 二.OMP的MATL ...

  4. 压缩感知重构算法之正交匹配追踪算法(OMP)

    算法的重构是压缩感知中重要的一步,是压缩感知的关键之处.因为重构算法关系着信号能否精确重建,国内外的研究学者致力于压缩感知的信号重建,并且取得了很大的进展,提出了很多的重构算法,每种算法都各有自己的优 ...

  5. 正交匹配追踪(OMP)其它改进算法

    原文链接:http://blog.csdn.net/jbb0523/article/details/45693359 题目:正交匹配追踪(OMP)其它改进算法 下面介绍10篇文献中的OMP改进算法,首 ...

  6. 【老生谈算法】matlab实现压缩感知重构算法之正则化正交匹配追踪(ROMP)——ROMP

    matlab压缩感知重构算法之正则化正交匹配追踪(ROMP) 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]贪婪算法中ROM ...

  7. 压缩感知重构算法之广义正交匹配追踪(gOMP)

    压缩感知重构算法之广义正交匹配追踪(gOMP) 转载自彬彬有礼的专栏 题目:压缩感知重构算法之广义正交匹配追踪(gOMP) 广义正交匹配追踪(Generalized OMP, gOMP)算法可以看作为 ...

  8. 浅谈压缩感知(二十八):压缩感知重构算法之广义正交匹配追踪(gOMP)

    浅谈压缩感知(二十八):压缩感知重构算法之广义正交匹配追踪(gOMP) 主要内容: gOMP的算法流程 gOMP的MATLAB实现 一维信号的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.g ...

  9. 施密特(Schimidt)正交化与正交匹配追踪

    题目:施密特(Schimidt)正交化与正交匹配追踪 文献[1]中给出了施密特(Schimidt)正交化的过程: 上面的的[x,y]表示向量内积,[x,y]=xTy=yTx=[x,y].施密特正交化公 ...

最新文章

  1. 10 年 bloger 教你如何优雅玩转博客!
  2. android 模拟飞行,安卓版模拟飞行 X Plane 9试玩
  3. mooc-IDEA 调试代码--012
  4. 十六、“心念田园穿古镇,足踏古岸望潭汀。”(2021.5.15)
  5. Mac系统下Homebrew的安装和使用Homebrew安装python
  6. mysql数据库时间突然是12小时制_为什么存入mysql数据库中的timestamp,晚了13或14个小时...
  7. 2021牛客暑期多校训练营3 B-Black and white(思维+最小生成树)
  8. java indexof方法_java入门 021
  9. 节约:我们不应忘记的美德
  10. 系统配置 计算机管理,计算机系统安全配置管理方案
  11. 奶茶店、粥店、火锅店卫生问题频出,如何通过视频监管系统保证群众饮食安全?
  12. 微信小程序选项卡底线转换滑动动画
  13. 基于Java的网络教学系统
  14. android点九切图,点九图切图规范
  15. android微信配色,万能微信公众号配色模板(神仙配色太好看了)
  16. 计算机硬件个人总结,计算机硬件课程设计个人总结
  17. n维向量空间W中有子空间U,V,如果dim(U)=r dim(V)=n-r U交V !={0},那么U,V的任意2组基向量的组合必定线性相关...
  18. 中国科学院大学计算机学院夏令营,中科院计算所2019年夏令营名单
  19. 团队协作与团队内部竞争_从个人团队到竞争组织
  20. Matlab学习手记——非线性方程组求解:牛顿下山法

热门文章

  1. 云时代架构阅读笔记十五——架构设计思维(一)
  2. Python:每日一题002
  3. Convert AS400 Spool to PFD Tools – PDFing
  4. Java TreeSet的定制排序
  5. TabHost选项卡的实现(一):使用TabActivity实现
  6. ECsoop 商品列表页属性筛选区品牌以LOGO形式显示
  7. Windows Phone开发(32):路径之PathGeometry 转:http://blog.csdn.net/tcjiaan/article/details/7469512...
  8. 美国滴滴打人上线,约架神器如何玩转暴力社区?
  9. Python OpenCV实例:图像直方图均衡化(数学公式简单实现)
  10. 面对重重问题 光伏扶贫路在何方?