根据你的建议,我将代码改成了:Total_PSNR=(PSNR(1,1,1)+PSNR(2,2,2)+PSNR(3,3,3))/3;显示位置 1 处的索引超出数组边界(不能超出 1)。报错,怎么解决呢
时间: 2023-09-19 21:09:10 浏览: 62
oracle 实际值超过数据库某个字段指定长度报错解决
你的代码中,PSNR 是一个三维数组,应该按照以下方式计算每个通道的 PSNR 值:
```matlab
Total_PSNR = (PSNR(1,1,1) + PSNR(1,1,2) + PSNR(1,1,3)) / 3;
```
在上面的代码中,我们分别计算了每个通道的 PSNR 值,并将它们相加后再除以 3,得到了整个图像的平均 PSNR 值。如果你要计算的是一组图像的 PSNR 值,可以按照以下方式计算:
```matlab
Total_PSNR = mean(PSNR(:));
```
在上面的代码中,我们使用了 mean() 函数计算了 PSNR 数组中所有元素的平均值,得到了整个图像的平均 PSNR 值。
阅读全文