Float[][] buildBinCols(MultidimensionalHistogram feature) { Float[][] binCols = new Float[10*4*1][]; double maxFeature = feature.max(); if(maxFeature == 0) maxFeature = 1; for (int k=0; k<10; k++) { for (int j=0; j<4; j++) { float s = (float)j/4 + (0.5f/4); float h = (float)k/10 + (0.5f/10); MBFImage img = new MBFImage(1,1,ColourSpace.HSV); img.setPixel(0, 0, new Float[] {h,s,(float) (feature.get(k,j,0) / maxFeature)}); // img.setPixel(0, 0, new Float[] {h,s,1f}); img = Transforms.HSV_TO_RGB(img); binCols[j* 10 + k] = img.getPixel(0, 0); } } return binCols; }
@Override public void analyseImage(MBFImage image) { Transforms.calculateIntensityNTSC(image).analyseWith(extractor); final FImage mask = extractor.getROIMap().inverse(); final MaskingHistogramModel hm = new MaskingHistogramModel(mask, binsPerBand, binsPerBand, binsPerBand); hm.estimateModel(image); final MultidimensionalHistogram fv = hm.getFeatureVector(); final double thresh = gamma * fv.max(); int count = 0; for (final double f : fv.values) { if (f >= thresh) count++; } simplicity = (double) count / (double) fv.values.length; }
@Override public void analyseImage(MBFImage image) { Transforms.calculateIntensityNTSC(image).analyseWith(extractor); final FImage mask = extractor.getROIMap().inverse(); final MaskingHistogramModel hm = new MaskingHistogramModel(mask, binsPerBand, binsPerBand, binsPerBand); hm.estimateModel(image); final MultidimensionalHistogram fv = hm.getFeatureVector(); final double thresh = gamma * fv.max(); int count = 0; for (final double f : fv.values) { if (f >= thresh) count++; } simplicity = (double) count / (double) fv.values.length; }
final double thresh = gamma * fv.max(); int count = 0; for (final double f : fv.values) {
final double thresh = gamma * fv.max(); int count = 0; for (final double f : fv.values) {