image-js
Version:
Image processing and manipulation in JavaScript
21 lines (18 loc) • 567 B
text/typescript
import type { BriefDescriptor } from '../descriptors/getBriefDescriptors.js';
/**
* Compute the Hamming distance between two bit strings.
* @see {@link https://en.wikipedia.org/wiki/Hamming_distance}
* @param descriptor1 - First bit string.
* @param descriptor2 - Second bit string.
* @returns The Hamming distance.
*/
export function getHammingDistance(
descriptor1: BriefDescriptor,
descriptor2: BriefDescriptor,
): number {
let sum = 0;
for (let i = 0; i < descriptor1.length; i++) {
sum += descriptor1[i] ^ descriptor2[i];
}
return sum;
}