求信噪比的程序哪里出错了?
I= imread('apple-huai.bmp');J = rgb2gray(I);
doubletemp1=0.0;doubletemp2=0.0; %matlab不用特意声明double
for i=0:m %matlab下标从1开始
forj=0:n
{ %matlab循环不用{}
temp1==temp1+255*255;
temp2==temp2+-NewImage]*-NewImage];%matlab[]表示取矩阵元素
}
}
doubleSNR=temp1*ROW*COL/Temp2;
PSNR=10*log10(SNR);//PSNR即为峰值信噪比
??? temp2==temp2+-NewImage]*-NewImage];
|
Error: Missing operator, comma, semicolon, or white space.
一调试就出现这种错误怎么回事??
[ 本帖最后由 sigma665 于 2008-7-1 14:18 编辑 ] :@L
楼主用的是matlab还是c++啊?是新版本的新功能么?看起来很惊人啊。
如果楼主以前没有接触过matlab的话,建议找本基础的书看看。 temp1==temp1+255*255;
这个算干什么的 ??
C代码描述如下:
mse = 0.0;
for( y = 0; y < c;y++ )
for( x = 0; x < r;x++ )
{
temp = (signed short)map1-(signed short)map2;
mse += (double)temp*temp;
}
mse = mse / (1.0*r*c);
psnr = 10 * log10(255.0*255.0/mse); 这是matlab语言呀,求的是255的平方! 楼主,你的matlab语言咋会是这样子的呢
页:
[1]