compareHashes static method

double compareHashes(
  1. ImageHash a,
  2. ImageHash b
)

Compares hashes and returns similarity percentage

Implementation

static double compareHashes(final ImageHash a, final ImageHash b) {
  if (a.length != b.length) {
    throw const HashIncompatibilityException(
      message: 'Hash length mismatch',
    );
  }
  final int length = a.length;

  int equalCount = 0;
  for (int i = 0; i < length; i++) {
    final hashCellA = a.hashList[i];
    final hashCellB = b.hashList[i];

    if (hashCellA == hashCellB) {
      equalCount++;
    }
  }

  final percentage = equalCount / length;
  return percentage;
}