本文整理汇总了Java中net.semanticmetadata.lire.imageanalysis.correlogram.DynamicProgrammingAutoCorrelogramExtraction类的典型用法代码示例。如果您正苦于以下问题:Java DynamicProgrammingAutoCorrelogramExtraction类的具体用法?Java DynamicProgrammingAutoCorrelogramExtraction怎么用?Java DynamicProgrammingAutoCorrelogramExtraction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DynamicProgrammingAutoCorrelogramExtraction类属于net.semanticmetadata.lire.imageanalysis.correlogram包,在下文中一共展示了DynamicProgrammingAutoCorrelogramExtraction类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testMethodsPerformance
import net.semanticmetadata.lire.imageanalysis.correlogram.DynamicProgrammingAutoCorrelogramExtraction; //导入依赖的package包/类
public void testMethodsPerformance() throws IOException {
AutoColorCorrelogram[] acc = new AutoColorCorrelogram[4];
int[] D = {1, 3, 5, 7};
int C = 64;
acc[0] = new AutoColorCorrelogram(C, D, new MLuxAutoCorrelogramExtraction(AutoColorCorrelogram.Mode.SuperFast));
acc[1] = new AutoColorCorrelogram(C, D, new MLuxAutoCorrelogramExtraction(AutoColorCorrelogram.Mode.FullNeighbourhood));
acc[2] = new AutoColorCorrelogram(C, D, new NaiveAutoCorrelogramExtraction());
acc[3] = new AutoColorCorrelogram(C, D, DynamicProgrammingAutoCorrelogramExtraction.getInstance());
int[] testSet = {284, 77, 108, 416, 144, 534, 898, 104, 67, 10};
//reads all images
BufferedImage[] image = new BufferedImage[testSet.length];
for (int j = 0; j < testSet.length; j++) {
int id = testSet[j];
String file = testExtensive + "/" + id + ".jpg";
image[j] = ImageIO.read(new FileInputStream(file));
}
for (int i = 0; i < 4; i++) {
long t0 = System.currentTimeMillis();
for (int j = 0; j < testSet.length; j++) {
acc[i].extract(image[j]);
System.out.print(".");
}
long tf = System.currentTimeMillis();
long dt = tf - t0;
double avt = (double) dt / testSet.length;
System.out.printf("Method %d: total time %d, average %f\n", i, dt, avt);
}
}
示例2: AutoColorCorrelogram
import net.semanticmetadata.lire.imageanalysis.correlogram.DynamicProgrammingAutoCorrelogramExtraction; //导入依赖的package包/类
/**
* Creates a new AutoColorCorrelogram using a maximum L_inf pixel distance for analysis and given mode
*/
public AutoColorCorrelogram(int numBins, int[] distanceSet, IAutoCorrelogramFeatureExtractor extractionAlgorith) {
this.numBins = numBins;
this.distanceSet = distanceSet;
if (extractionAlgorith == null) {
switch (DEFAULT_EXTRACTION_METHOD) {
case LireAlgorithm:
this.extractionAlgorithm = new MLuxAutoCorrelogramExtraction();
break;
case NaiveHuangAlgorithm:
this.extractionAlgorithm = new NaiveAutoCorrelogramExtraction();
break;
case DynamicProgrammingHuangAlgorithm:
this.extractionAlgorithm = DynamicProgrammingAutoCorrelogramExtraction.getInstance();
break;
}
} else this.extractionAlgorithm = extractionAlgorith;
if (numBins < 17) {
quantH_f = 4f;
quantS_f = 2f;
quantV_f = 2f;
this.numBins = 16;
} else if (numBins < 33) {
quantH_f = 8f;
quantS_f = 2f;
quantV_f = 2f;
this.numBins = 32;
} else if (numBins < 65) {
quantH_f = 8f;
quantS_f = 4f;
quantV_f = 2f;
this.numBins = 64;
} else if (numBins < 129) {
quantH_f = 8f;
quantS_f = 4f;
quantV_f = 4f;
this.numBins = 128;
} else {
quantH_f = 16f;
quantS_f = 4f;
quantV_f = 4f;
this.numBins = 256;
}
quantH = 360f / quantH_f;
quantS = 256f / quantS_f;
quantV = 256f / quantV_f;
// init quantization table:
// int count = 0;
// quantTable = new int[(int) quantH_f][(int) quantS_f][(int) quantV_f];
// for (int[][] ints : quantTable) {
// for (int[] anInt : ints) {
// for (int k = 0; k < anInt.length; k++) {
// anInt[k] = count;
// assert (count < numBins);
// count++;
// }
// }
// }
}