image-js
Version:
Image processing and manipulation in JavaScript
26 lines • 886 B
JavaScript
/**
* Compute the squared distance from each keypoint to the other ones.
* @param keypoints - Keypoints to process.
* @returns Distance matrix.
*/
export function getDistanceMatrix(keypoints) {
const size = keypoints.length;
const matrix = new Array(size);
for (let i = 0; i < size; i++) {
matrix[i] = new Float64Array(size).fill(0);
}
for (let i = 0; i < size; i++) {
const point1 = keypoints[i].origin;
for (let j = i; j < size; j++) {
if (i === j) {
matrix[i][j] = 0;
}
const point2 = keypoints[j].origin;
const squaredDistance = (point1.row - point2.row) ** 2 + (point1.column - point2.column) ** 2;
matrix[i][j] = squaredDistance;
matrix[j][i] = squaredDistance;
}
}
return matrix;
}
//# sourceMappingURL=getDistanceMatrix.js.map