⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snr.txt

📁 音频水印水印算法
💻 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 + -