Working on a project to validate some images and I thought this would be a good opportunity to show a simple way to compare 2 images to see if they are equal.
First we need to declare some library's. We will be using JRuby for these examples. If you want to use Java this will look simular.
Now we need to make a function that will allow us to open an image as a bufferedImage
Lets start figuring out if the images are the same. A good place to start is to define a function that with tell us whether the width and height are the same. If they are equal then the images could be the same.
Now we are cooking with grease. The compare_size function above will get the width and height of both images and compare them. If they are equal the function will return a true value. Now that we know that both the images are possibly the same size we need to validate if the images are identical. With buffered images this is not as simple as the example below.
Nice try!! This don't work. For a simple mundane way of checking images we need to comapre them pixel by pixel with the RGB value.
Now you have a function to fully check if 2 images are the same pixel by pixel. Please note that if the images have different color profiles or use alpha color this function could still fail. We'll save that lesson for another time.
Lets string these in order to finish the simple program up.
Want to download the whole script checkout Github
- ► 2016 ( 13 )
- ▼ 2014 ( 14 )