kangguo2006 发表于 2008-7-1 10:17

求信噪比的程序哪里出错了?

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 编辑 ]

sogooda 发表于 2008-7-1 12:43

:@L
楼主用的是matlab还是c++啊?是新版本的新功能么?看起来很惊人啊。

如果楼主以前没有接触过matlab的话,建议找本基础的书看看。

graduate 发表于 2008-7-2 23:42

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);

kangguo2006 发表于 2008-7-3 17:09

这是matlab语言呀,求的是255的平方!

whatman 发表于 2008-7-4 11:00

楼主,你的matlab语言咋会是这样子的呢
页: [1]
查看完整版本: 求信噪比的程序哪里出错了?