Rev | Line | |
---|
[37] | 1 | % find outliers in cameras |
---|
| 2 | % |
---|
| 3 | % [outliers, inliers] = findoutl(cam,inliers,INL_TOL,NUM_CAMS_FILL); |
---|
| 4 | % |
---|
| 5 | % $Id: findoutl.m,v 2.1 2005/05/20 11:58:23 svoboda Exp $ |
---|
| 6 | |
---|
| 7 | function [outliers, inliers] = findoutl(cam,inliers,INL_TOL,NUM_CAMS_FILL); |
---|
| 8 | |
---|
| 9 | CAMS = size(cam,2); |
---|
| 10 | |
---|
| 11 | idxoutMat = zeros(size(inliers.IdMat)); |
---|
| 12 | for i=1:CAMS, |
---|
| 13 | if (cam(i).std2Derr > cam(i).mean2Derr) | (cam(i).mean2Derr > INL_TOL) |
---|
| 14 | reprerrs = cam(i).err2d - cam(i).mean2Derr; |
---|
| 15 | idxout = find((reprerrs > 3*cam(i).std2Derr) & reprerrs > INL_TOL); |
---|
| 16 | else |
---|
| 17 | idxout = []; |
---|
| 18 | end |
---|
| 19 | idxoutMat(i,cam(i).idlin(cam(i).visandrec(idxout))) = 1; |
---|
| 20 | end |
---|
| 21 | inliers.IdMat(:,sum(idxoutMat)>0) = 0; % zero all columns with at least one outlier |
---|
| 22 | inliers.idx = find(sum(inliers.IdMat)>=size(inliers.IdMat,1)-NUM_CAMS_FILL); |
---|
| 23 | outliers = sum(sum(idxoutMat)>0); |
---|
| 24 | |
---|
| 25 | return; |
---|
| 26 | |
---|
Note: See
TracBrowser
for help on using the repository browser.