• 大小: 5.36MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-23
  • 语言: 其他
  • 标签: ADMM-L1  

资源简介

压缩相位恢复ADMM-L1相位恢复 opencv实现

资源截图

代码片段和文件信息

#include “subfunction.h“

#define ALPHA  0.1
#define BETA  0.65
#define LAMBDA  9
#define ITERMAX 100
#define SIGAMA 3

int main()
{
system(“color 4f“);
Mat *Image = new Mat;
*Image = imread(“E:/pic/Satellite.bmp“ 0);
if (Image->empty())
{
cout << “can‘t read Iamge“ << endl;
return -1;
}
Image->convertTo(*Image CV_32FC1);
/************初始化**************/
Mat Fabsmaskxstemp[2]temp1s1angelsFabsFx;
Mat y = Mat::zeros(Image->size() CV_32FC2);
Fabs = getFabs(*Image);
mask = getRandnMask(Image->size());
Fabs = Fabs.mul(mask);
Mat b = Fabs;
Mat z = getRandnPhaseImage(FabsSIGAMA);
int iter = 0;
/*******************************/
while (iter < ITERMAX){
/************updata x***************/
z = z - (1 / ALPHA)*y;
dft(z temp1 DFT_INVERSE + DFT_SCALE);
split(temp1 temp);
temp[0] = softThreshold(temp[0] ALPHA);
x = max(0 temp[0]);
/************updata z***************/
Fx = fft2(x);
s = Fx + (1 / ALPHA)*y;
split(stemp);
magnitude(temp[0] temp[1] sFabs);
phase(temp[0] temp[1] angel);
temp[0] = sFabs.mul(mask);
temp[1] = sFabs.mul(1 - mask);
temp1 = (LAMBDA*b + ALPHA*temp[0]) / (LAMBDA + ALPHA);
temp1 = temp1 + temp[1];
polarToCart(temp1 angel temp[0] temp[1]);
merge(temp 2 z);
/************updata y***************/
y = y + BETA*ALPHA*(Fx - z);
/***********************************/
iter = iter + 1;
cout << “iter. = “ << iter << endl;
}
displayImage(*Image “原图“);
displayImage(x “恢复图像“);
waitKey(0);
system(“pause“);
return 0;
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-05-18 21:52  CRP\
     目录           0  2016-05-18 21:52  CRP\CRP\
     文件        4375  2016-05-18 15:09  CRP\CRP\CRP.vcxproj
     文件        1164  2016-05-18 15:09  CRP\CRP\CRP.vcxproj.filters
     目录           0  2016-05-18 21:52  CRP\CRP\Debug\
     文件        2471  2016-05-18 21:52  CRP\CRP\Debug\CRP.log
     目录           0  2016-05-18 21:52  CRP\CRP\Debug\CRP.tlog\
     文件       26570  2016-05-18 21:52  CRP\CRP\Debug\CRP.tlog\CL.read.1.tlog
     文件        1258  2016-05-18 21:52  CRP\CRP\Debug\CRP.tlog\CL.write.1.tlog
     文件         157  2016-05-18 21:52  CRP\CRP\Debug\CRP.tlog\CRP.lastbuildstate
     文件        1194  2016-05-18 21:52  CRP\CRP\Debug\CRP.tlog\cl.command.1.tlog
     文件        2142  2016-05-18 21:52  CRP\CRP\Debug\CRP.tlog\link.command.1.tlog
     文件        5280  2016-05-18 21:52  CRP\CRP\Debug\CRP.tlog\link.read.1.tlog
     文件         426  2016-05-18 21:52  CRP\CRP\Debug\CRP.tlog\link.write.1.tlog
     文件      226676  2016-05-18 21:52  CRP\CRP\Debug\main.obj
     文件      256012  2016-05-18 19:11  CRP\CRP\Debug\subfunction.obj
     文件      658432  2016-05-18 21:52  CRP\CRP\Debug\vc120.idb
     文件      946176  2016-05-18 21:52  CRP\CRP\Debug\vc120.pdb
     文件        1603  2016-05-18 21:52  CRP\CRP\main.cpp
     文件        2087  2016-05-18 19:11  CRP\CRP\subfunction.cpp
     文件         416  2016-05-18 19:11  CRP\CRP\subfunction.h
     文件    14876672  2016-05-18 21:52  CRP\CRP.sdf
     文件         955  2016-05-18 15:06  CRP\CRP.sln
     文件       24064  2016-05-18 21:52  CRP\CRP.v12.suo
     目录           0  2016-05-18 19:07  CRP\Debug\
     文件      102400  2016-05-18 21:52  CRP\Debug\CRP.exe
     文件     2041616  2016-05-18 21:52  CRP\Debug\CRP.ilk
     文件     2198528  2016-05-18 21:52  CRP\Debug\CRP.pdb

评论

共有 条评论

相关资源