📄 snr.txt
字号:
CString fname1,pname1,fname2,pname2,fname3,pname3;
mxArray* x=NULL;
mxArray* y=NULL;
mxArray* RNS=NULL;
mxArray* SNR=NULL;
x=mxCreateDoubleMatrix(1,1000000,mxREAL);
y=mxCreateDoubleMatrix(1,1000000,mxREAL);
RNS=mxCreateDoubleMatrix(1,1,mxREAL);
SNR=mxCreateDoubleMatrix(1,1,mxREAL);
int fs=44100,nbits=16;
double *temp=new double[sizeof(double)];
engEvalString(ep,"[fname1,pname1]=uigetfile('*.wav','open the audio file')");
engEvalString(ep,"[fname2,pname2]=uigetfile('*.wav','open the watermarkaudio file')");
engEvalString(ep,"[fname3,pname3]=uigetfile('*.png;*.jpg;*.gif','open the watermark')");
//RNS=mxCreateDoubleMatrix(1,1,mxREAL);
//fname2=mxCreateDoubleMatrix(1,1,mxREAL);
//mxSetName(x,"x");
//mxSetName(y,"y");
//engPutArray(ep,"fname1");
//engPutArray(ep,"fname2");
//engPutArray(ep,fname3);
engEvalString(ep,"[x,fs,nbits]=wavread(fname1)");
engEvalString(ep,"[y,fs,nbits]=wavread(fname2)");
engEvalString(ep,"RNS=sum((x-y).^2)./sum(x.^2)");
//AfxMessageBox(y1);
engEvalString(ep,"SNR=-10*log10(RNS)");
SNR=engGetVariable(ep,"SNR");
memcpy((double *)temp,(double *)mxGetPr(SNR),sizeof(double));
CString str;
str.Format("%lf",*temp);
AfxMessageBox(str);
mxDestroyArray(x);
mxDestroyArray(y);
mxDestroyArray(RNS);
mxDestroyArray(SNR);
// mxDestroyArray(T);*temp
AfxMessageBox(*temp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -