Friday 22 March 2013

Compare Images In Java

Leave a Comment
package defaultt;

import java.awt.image.BufferedImage;
import java.awt.image.DataBuffer;
import java.io.File;

import javax.imageio.ImageIO;

public class CompareImage {
 public static boolean compareImage(File fileA, File fileB) {        
     try {
         // take buffer data from botm image files //
         BufferedImage biA = ImageIO.read(fileA);
         DataBuffer dbA = biA.getData().getDataBuffer();
         int sizeA = dbA.getSize();                      
         BufferedImage biB = ImageIO.read(fileB);
         DataBuffer dbB = biB.getData().getDataBuffer();
         int sizeB = dbB.getSize();
         // compare data-buffer objects //
         if(sizeA == sizeB) {
             for(int i=0; i<sizeA; i++) { 
                 if(dbA.getElem(i) != dbB.getElem(i)) {
                     return false;
                 }
             }
             return true;
         }
         else {
             return false;
         }
     } 
     catch (Exception e) { 
         System.out.println("Failed to compare image files ...");
         return  false;
     }
 }
 
 public static void main(String[] args) {
  File a = new File("F:\\uu.jpg");
  File b = new File("F:\\uu.jpg");
  boolean flag = compareImage(a, b);
  
  System.out.println("Match: "+flag);
 }
}

0 comments:

Post a Comment