clear;clc;
ptCloudA=pcread('chongjian0.0015.ply');
ptCloudB=pcread('original.ply');
%计算nnmse
[~, dists] = multiQueryKNNSearchImpl(ptCloudA, ptCloudB.Location, 1);
rmse1 = sqrt(sum(dists(:))/numel(dists));
[~, dists] = multiQueryKNNSearchImpl(ptCloudB, ptCloudA.Location, 1);
rmse2 = sqrt(sum(dists(:))/numel(dists));
nnrmse=(rmse2+rmse1)/2;
p=300;%p为点云A的内部距离最大值
MAX=3*p*p;
PSNR=10*log10(MAX/sqrt(nnrmse));