Hausdorff距離是根據Hausdorff(1868-1942)命名的,Hausdorff距離是指某一集合中離另一集合最近點的所有距離的最大值 。
通常用如下公式表示:
需要注意的是h(A,B)和h(B,A)通常不相等,所以可以定義更一般的Hausdorff距離:
matlab代碼如下:
clear all; close all; clc; p1 = rand(100,2); p2 = rand(50,2)+1; plot(p1(:,1),p1(:,2),'.'); hold on; plot(p2(:,1),p2(:,2),'r.'); d = zeros(length(p1),1); for i=1:length(p1) t = p2-p1(i,:); d(i) = min(sqrt(t(:,1).^2+t(:,2).^2)); end hab=max(d) for i=1:length(p2) t = p1-p2(i,:); d(i) = min(sqrt(t(:,1).^2+t(:,2).^2)); end hba=max(d) h=max([hab hba])
參考:http://cgm.cs.mcgill.ca/~godfried/teaching/cg-projects/98/normand/main.html#algorithm