compare method
Computes euclidean color distance between two images of the same size
Implementation
@override
double compare(Image src1, Image src2) {
// Delegates image resizing to parent
super.compare(src1, src2);
var sum = 0.0;
var numPixels = _pixelListPair._first.length;
var alphaBit = (ignoreAlpha) ? 0 : 1;
for (var i = 0; i < numPixels; i++) {
sum += sqrt(pow(
(_pixelListPair._first[i]._red - _pixelListPair._second[i]._red) /
255,
2) +
pow(
(_pixelListPair._first[i]._blue -
_pixelListPair._second[i]._blue) /
255,
2) +
pow(
(_pixelListPair._first[i]._green -
_pixelListPair._second[i]._green) /
255,
2) +
(alphaBit *
pow(
(_pixelListPair._first[i]._alpha -
_pixelListPair._second[i]._alpha) /
255,
2)));
}
return sum / (numPixels * sqrt(3 + alphaBit));
}