91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5.27MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-23
  • 語言: 其他
  • 標簽: 全變差??去噪??

資源簡介

實現全變差去噪(split bregman)使用opencv實現

資源截圖

代碼片段和文件信息

#include?“subfunction.h“

#define?SIGAMA?15

/**************initialization***************/
Mat???Image?=?imread(“E:/pic/lena.png“?0);
Size??sizeg?=?Image.size();
int???iter?=?1;
int???col?=?Image.cols;
int???row?=?Image.rows;
double?err?=?1.0f;
double?tol?=?0.001f;
float?mu?=?0.05f;
float?lambda?=?2?*?mu;
float?gamma?=?lambda?/?mu;
Mat???dx?=?Mat::zeros(sizeg?CV_32FC1);
Mat???dy?=?Mat::zeros(sizeg?CV_32FC1);
Mat???bx?=?Mat::zeros(sizeg?CV_32FC1);
Mat???by?=?Mat::zeros(sizeg?CV_32FC1);
Mat???I?=?Mat::ones(sizeg?CV_32FC1);
Mat???D1?=?(Mat_(1?2)?<Mat???D2?=?(Mat_(2?1)?<Mat???X?=?Mat::zeros(sizeg?CV_32FC1);
Mat???Y?=?Mat::zeros(sizeg?CV_32FC1);
Mat???Dux?=?Mat::zeros(sizeg?CV_32FC1);
Mat???Duy?=?Mat::zeros(sizeg?CV_32FC1);
Mat ??noise?=?Mat::zeros(Image.size()?CV_32FC1);
Mat???g?temp1?temp2?temp3?temp4?u?Dx?Dy?conjDx?conjDy?up?Fg?FabsDx?FabsDy?Fu?c?dtemp[2];

/********************************************/

int?main(){
system(“color?4F“);
if?(Image.empty())?{
cout?< return?-1;
}

Image.convertTo(Image?CV_32FC1);
randn(noise?0?SIGAMA);
g?=?noise?+?Image;
Dx?=?psf2otf(D1?sizeg);
Dy?=?psf2otf(D2?sizeg);
conjDx?=?conj(Dx);
conjDy?=?conj(Dy);
Fg?=?fft2(g);
split(Dx?temp);
magnitude(temp[0]?temp[1]?FabsDx);
split(Dy?temp);
magnitude(temp[0]?temp[1]?FabsDy);
pow(FabsDx?2?FabsDx);//取模值的平方
pow(FabsDy?2?FabsDy);//取模值的平方
u?=?g;
while?(err?>?tol){
u.copyTo(up);
/**********updata?U************/
X?=?dx?-?bx;
Y?=?dy?-?by;
temp1?=?fft2(X);
temp2?=?fft2(Y);
temp1?=?complexMul(conjDx?temp1);
temp2?=?complexMul(conjDy?temp2);
temp3?=?gamma*(temp1?+?temp2)?+?Fg;
temp4?=?gamma*(FabsDx?+?FabsDy)?+?I;
split(temp3?temp);
temp[0]?=?temp[0]?/?temp4;
temp[1]?=?temp[1]?/?temp4;
merge(temp?2?Fu);
dft(Fu?Fu?DFT_INVERSE?+?DFT_SCALE);
split(Fu?temp);
u?=?temp[0];
/********updata?dxdy*********/
Dux?=?diffX(u);
Duy?=?diffY(u);
temp1?=?Dux?+?bx;
temp2?=?Duy?+?by;
dx?=?softThreshold(temp1?lambda);
dy?=?softThreshold(temp2?lambda);
/********updata?bxby*********/
bx?=?bx?+?Dux?-?dx;
by?=?by?+?Duy?-?dy;
/********updata?error*********/
err?=?norm(u?-?up)?/?norm(u);
cout?< iter?=?iter?+?1;
}
double?PSNROut?=?PSNR(Image?u);
double?PSNRIn?=?PSNR(Image?g);
cout?< cout?<
displayImage(Image?“Original?Image“);
displayImage(g?“Noise?Image“);
displayImage(u?“Denoise?Image“);
waitKey(0);

system(“pause“);
return?0;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-05-18?09:45??SB_ATV\
?????目錄???????????0??2016-05-17?17:42??SB_ATV\Debug\
?????文件??????134656??2016-05-17?22:41??SB_ATV\Debug\SB_ATV.exe
?????文件?????1073208??2016-05-17?22:41??SB_ATV\Debug\SB_ATV.ilk
?????文件?????1739776??2016-05-17?22:41??SB_ATV\Debug\SB_ATV.pdb
?????目錄???????????0??2016-05-17?22:41??SB_ATV\SB_ATV\
?????目錄???????????0??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\
?????文件????????2401??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\SB_ATV.log
?????目錄???????????0??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\SB_ATV.tlog\
?????文件???????26368??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\SB_ATV.tlog\CL.read.1.tlog
?????文件????????1210??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\SB_ATV.tlog\CL.write.1.tlog
?????文件?????????160??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\SB_ATV.tlog\SB_ATV.lastbuildstate
?????文件????????1242??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\SB_ATV.tlog\cl.command.1.tlog
?????文件????????2202??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\SB_ATV.tlog\link.command.1.tlog
?????文件????????5328??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\SB_ATV.tlog\link.read.1.tlog
?????文件?????????486??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\SB_ATV.tlog\link.write.1.tlog
?????文件??????328187??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\main.obj
?????文件??????296842??2016-05-17?17:42??SB_ATV\SB_ATV\Debug\subfunction.obj
?????文件??????658432??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\vc120.idb
?????文件??????946176??2016-05-17?22:41??SB_ATV\SB_ATV\Debug\vc120.pdb
?????文件????????4378??2016-05-16?17:05??SB_ATV\SB_ATV\SB_ATV.vcxproj
?????文件????????1164??2016-05-16?17:05??SB_ATV\SB_ATV\SB_ATV.vcxproj.filters
?????文件????????2762??2016-05-17?22:41??SB_ATV\SB_ATV\main.cpp
?????文件????????5316??2016-05-16?17:05??SB_ATV\SB_ATV\subfunction.cpp
?????文件?????????496??2016-05-17?17:42??SB_ATV\SB_ATV\subfunction.h
?????文件????14876672??2016-05-18?09:45??SB_ATV\SB_ATV.sdf
?????文件?????????964??2016-05-16?17:02??SB_ATV\SB_ATV.sln
?????文件???????22016??2016-05-18?09:45??SB_ATV\SB_ATV.v12.suo

評論

共有 條評論