PSNR code in java not working plzz help
It is psnr code that is not working ..can someone help plz
*********************************************************************
*********************************************************************
*/ import java.io.*; public class Psnr { public static double log10(double x) { return Math.log(x)/Math.log(10); } public static void main (String[] args) { int nrows, ncols; int img1[][], img2[][]; double peak, signal, noise, mse; if (args.length != 4) { System.out.println("Usage: Psnr <nrows> <ncols> <img1> <img2>"); return; } nrows = Integer.parseInt(args[0]); ncols = Integer.parseInt(args[1]); img1 = new int[nrows][ncols]; img2 = new int[nrows][ncols]; ArrayIO.readByteArray(args[2], img1, nrows, ncols); ArrayIO.readByteArray(args[3], img2, nrows, ncols); signal = noise = peak = 0; for (int i=0; i<nrows; i++) { for (int j=0; j<ncols; j++) { signal += img1[I][j] * img1[I][j]; noise += (img1[I][j] - img2[I][j]) * (img1[I][j] - img2[I][j]); if (peak < img1[I][j]) peak = img1[I][j]; } } mse = noise/(nrows*ncols); // Mean square error System.out.println("MSE: " + mse); System.out.println("SNR: " + 10*log10(signal/noise)); System.out.println("PSNR(max=255): " + (10*log10(255*255/mse))); System.out.println("PSNR(max=" + peak + "): " + 10*log10((peak*peak)/mse)); } }
0