@Override public void process(ConnectedComponent cc) { area = cc.calculateArea(); final double[] c = cc.calculateCentroid(); cx = c[0]; cy = c[1]; direction = cc.calculateDirection(); elongatedness = cc.calculateOrientatedBoundingBoxAspectRatio(); final float edge_length = cc.getOuterBoundary().size(); compactness = (edge_length * edge_length) / new ConnectedComponent(cc.toPolygon()).calculateArea(); if (area > 4) chfit = new ConnectedComponent(cc.toPolygon()).calculatePercentageConvexHullFit(); // chfit // won't // work // for // really // small // regions else chfit = 1; if (area > 100) cornerEst = cc.estimateNumberOfVertices(3, 10); else cornerEst = area; }
@Override public void process(ConnectedComponent cc) { area = cc.calculateArea(); final double[] c = cc.calculateCentroid(); cx = c[0]; cy = c[1]; direction = cc.calculateDirection(); elongatedness = cc.calculateOrientatedBoundingBoxAspectRatio(); final float edge_length = cc.getOuterBoundary().size(); compactness = (edge_length * edge_length) / new ConnectedComponent(cc.toPolygon()).calculateArea(); if (area > 4) chfit = new ConnectedComponent(cc.toPolygon()).calculatePercentageConvexHullFit(); // chfit // won't // work // for // really // small // regions else chfit = 1; if (area > 100) cornerEst = cc.estimateNumberOfVertices(3, 10); else cornerEst = area; }