private boolean checkSideSize ( Polygon2D_F64 p ) { double max = 0 , min = Double . MAX_VALUE ; for ( int i = 0 ; i < p . size ( ) ; i ++ ) { double l = p . getSideLength ( i ) ; max = Math . max ( max , l ) ; min = Math . min ( min , l ) ; } // See if a side is too small to decode if ( min < 10 ) return false ; // see if it's under extreme perspective distortion and unlikely to be readable return ! ( min / max < thresholdSideRatio ) ; }
Sanity check the polygon based on the size of its sides to see if it could be a fiducial that can be decoded