压缩感知重构算法之OMP算法---python实现
#coding:utf-8
# DCT基作为稀疏基,重建算法为OMP算法 ,图像按列进行处理
# 导入所需的第三方库文件
import numpy as np
import math
from PIL import Image#读取图像,并变成numpy类型的 array
im = np.array(Image.open('/Users/sanfordzhu/Desktop/lena.bmp')) #图片大小256*256#生成高斯随机测量矩阵
sampleRate=0.5 #采样率
Phi=np.random.randn(int(256*sampleRate),256)#生成稀疏基DCT矩阵
mat_dct_1d=np.zeros((256,256))
v=range(256)
for k in range(0,256):dct_1d=np.cos(np.dot(v,k*math.pi/256))if k>0:dct_1d=dct_1d-np.mean(dct_1d)mat_dct_1d[:,k]=dct_1d/np.linalg.norm(dct_1d)#随机测量
img_cs_1d=np.dot(Phi,im)#OMP算法函数
def cs_omp(y,D):#传入参数为y和传感矩阵L=math.floor(y.shape[0]/4)residual=y #初始化残差index=np.zeros((L),dtype=int)for i in range(L):index[i]= -1result=np.zeros((256))for j in range(L): #迭代次数product=np.fabs(np.dot(D.T,residual))pos=np.argmax(product) #最大投影系数对应的位置index[j]=postmp=[]for tt in range(len(index)):if (index[tt]>0)or(index[tt]==0):tmp.append(tt)tmp1=D[:,tmp]my = np.linalg.pinv(D[:,tmp]) # 最小二乘a=np.dot(my,y) #最小二乘residual=y-np.dot(D[:,tmp],a)result[tmp]=areturn result#重建
sparse_rec_1d=np.zeros((256,256)) # 初始化稀疏系数矩阵
Theta_1d=np.dot(Phi,mat_dct_1d) #测量矩阵乘上基矩阵
for i in range(256):print('正在重建第',i,'列。')column_rec=cs_omp(img_cs_1d[:,i],Theta_1d) #利用OMP算法计算稀疏系数sparse_rec_1d[:,i]=column_rec;
img_rec=np.dot(mat_dct_1d,sparse_rec_1d) #稀疏系数乘上基矩阵#显示重建后的图片
image2=Image.fromarray(img_rec)
image2.show()
压缩感知重构算法之OMP算法---python实现相关推荐
- 压缩感知重构算法之IHT算法python实现
压缩感知重构算法之OMP算法python实现 压缩感知重构算法之CoSaMP算法python实现 压缩感知重构算法之SP算法python实现 压缩感知重构算法之IHT算法python实现 压缩感知重构 ...
- 浅谈压缩感知(二十一):压缩感知重构算法之正交匹配追踪(OMP)
主要内容: OMP的算法流程 OMP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 稀疏度K与重构成功概率关系的实验与结果 一.OMP的算法流程 二.OMP的MATL ...
- 压缩感知重构算法之正交匹配追踪算法(OMP)
算法的重构是压缩感知中重要的一步,是压缩感知的关键之处.因为重构算法关系着信号能否精确重建,国内外的研究学者致力于压缩感知的信号重建,并且取得了很大的进展,提出了很多的重构算法,每种算法都各有自己的优 ...
- 压缩感知重构算法之正交匹配追踪(OMP)
题目:压缩感知重构算法之正交匹配追踪(OMP) 前面经过几篇的基础铺垫,本篇给出正交匹配追踪(OMP)算法的MATLAB函数代码,并且给出单次测试例程代码.测量数M与重构成功概率关系曲线绘制例程代码. ...
- 压缩感知重构算法综述-学习笔记
论文信息:李珅,马彩文,李艳,陈萍.压缩感知重构算法综述[J].红外与激光工程,2013,42(S1):225-232. 目录 文章工作: 问题一:压缩感知涉及三个比较重要的层面 问题二:压缩感知理论 ...
- 压缩感知重构算法之迭代硬阈值(Iterative Hard Thresholding,IHT)
转载自:https://blog.csdn.net/wyw921027/article/details/52102211 题目:压缩感知重构算法之迭代硬阈值(Iterative Hard Thresh ...
- 压缩感知重构算法之迭代硬阈值(IHT)
题目:压缩感知重构算法之迭代硬阈值(Iterative Hard Thresholding,IHT) 本篇来介绍IHT重构算法.一般在压缩感知参考文献中,提到IHT时一般引用的都是文献[1],但IHT ...
- 【老生谈算法】matlab实现压缩感知重构算法之正则化正交匹配追踪(ROMP)——ROMP
matlab压缩感知重构算法之正则化正交匹配追踪(ROMP) 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]贪婪算法中ROM ...
- 压缩感知重构算法之基追踪(Basis Pursuit, BP)
题目:压缩感知重构算法之基追踪(Basis Pursuit, BP) 除匹配追踪类贪婪迭代算法之外,压缩感知重构算法另一大类就是凸优化算法或最优化逼近方法,这类方法通过将非凸问题转化为凸问题求解找到信 ...
- 压缩感知重构算法之基追踪(Basis Pursuit, BP).基追踪并不能称为一个具体的算法,而是一种最优化准则,可以有很多实现方式,我认为指的是L0可以变为L1的准则
基追踪(basis pursuit)算法是一种用来求解未知参量L1范数最小化的等式约束问题的算法. 基追踪是通常在信号处理中使用的一种对已知系数稀疏化的手段.将优化问题中的L0范数转化为L1范数的求解 ...
最新文章
- 脱壳 VMProtect 1.70.4
- linux shell eval 命令 字符串作为命令执行
- 2018-2019 网络对抗技术 20165231 Exp5 MSF基础应用
- Create new Fiori catalog group via personalization
- 如何使用python导入mat格式的数据并整理
- \pages\WxPay\WxPay.js
- php中数据库怎样增加一列,php – 向wordpress数据库添加新列
- SAP License:统计指标固定值和总值含义
- 安装 selectorgadget
- python 3.X中打包二进制数据存储字符串出错原因分析
- VMware 15.6版本下载安装
- 进政府网站要求IE8浏览器,IE8浏览器进不去,使用IE进政府机构网站提示非法进入提示不能直接使用URL进入网址,windows10安装IE8提示系统不支持【解决办法】
- 基于Spring MVC + Spring + MyBatis的【网上购物系统】
- 皮层之外(从进化的角度看皮层下脑组织:杏仁核,丘脑,纹状体,小脑)
- 移动端h5 下拉框 demo (原生的也太丑了把)
- WPF编程宝典--控件
- 金蝶KIS软件操作小技巧
- STM32Cube MX USB虚拟U盘+FATFS+W25Q128
- #navigation
- Anti-pattern
热门文章
- 万能打印之Delphi 2010实现(序言)
- 算法设计与分析 期末考试试卷
- VC运行库合集下载,含VC2005/2008/2010/2012/2013
- 【防爬虫01】通过headers中的user-agent字段来反爬
- python语言程序设计实验教程答案实验三_20194220 实验三《Python程序设计》实验报告...
- Cognos常见错误解决办法
- c语言学生成绩管理系统的设计,C语言学生成绩管理系统设计
- (转)使用XMind打开.mmap文件不显示问题
- 贪心算法的几种经典例题
- 官网下载STM32系列芯片的产品选型手册