2016-07-27 7 views
0

In diesem Code habe ich ein Bild als Eingabe und Ausgabe das gleiche Bild. Soweit ich weiß, ob zwei Bilder gleich sind, wird ihr PSNR-Wert inf sein. Also berechne ich ihren PSNR-Wert mit MATLAB, aber 48.05 zeigt an, dass diese Bilder nicht gleich sind. Aber ich lese und schreibe das gleiche Bild, warum das passiert. Wie kann ich es reparieren?Bildeingabe Ausgabe in Java

public class ImageProcessing { 

    BufferedImage image = null; 
    int width; 
    int height; 

    public ImageProcessing() { 

     // Input the image 
     try { 
      File input = new File("image0.jpg"); 
      image = ImageIO.read(input); 
      width = image.getWidth(); 
      height = image.getHeight(); 


      /*int count = 0; 
      for (int i = 0; i < height; i++) { 
       for (int j = 0; j < width; j++) { 
        count++; 
        Color c = new Color(image.getRGB(j, i)); 
        System.out.println("S.No: " + count + " Red: " + c.getRed() + " Green: " + c.getGreen() + " Blue: " + c.getBlue()); 
       } 
      }*/ 
     } catch (Exception e) { 
      System.out.println("Error: " + e); 
     } 

     // Output the image 
     try { 
      File input = new File("image1.jpg"); 
      ImageIO.write(image, "jpg", input); 
      System.out.println("Writing complete."); 
     } catch (Exception e) { 
      System.out.println("Error: " + e); 
     } 
    } 

    public static void main(String[] args) { 
     // TODO code application logic here 
     System.out.println("System Start"); 

     ImageProcessing obj = new ImageProcessing(); 
    } 
} 

Antwort

1

JPG ist ein lossy Format finden Sie Informationen verlieren sie beim Lesen und es heraus jedes Mal, wenn Sie es speichern zu schreiben.

Vielleicht versuchen Sie mit einem nicht verlustreichen Format wie PNG oder GIF.

+0

lassen Sie mich wissen, ob es das gleiche tut für png-Format –

+0

Dank, seine Arbeits im PNG-Format –

+0

cool, Sie etwas dagegen das grüne Häkchen schlagen? –

1

Richtig, um von Salmans Kommentar zu gehen, mit verlustfreier Komprimierung bleibt jedes Bit der Daten ursprünglich in der Datei nach seiner unkomprimierten. Dies wird normalerweise für TXT-Dokumente oder Tabellenkalkulationsdateien verwendet, bei denen Informationen wie Finanzdaten verloren gehen können. PNG oder GIF verwenden verlustfreie Komprimierung. Was wäre der Vorteil der Verlustkomprimierung? Dadurch wird die Datei verkleinert, indem redundante Informationen entfernt werden. Normalerweise bemerkt der Benutzer es nicht und wird in Ton und Video verwendet. Bei JPEG wird eine verlustbehaftete Komprimierung verwendet. In der Regel kann der Ersteller entscheiden, wie groß der Verlust zwischen Dateigröße und Bildqualität ist.

Gezeichnet vor allem aus: http://whatis.techtarget.com/definition/lossless-and-lossy-compression