【发布时间】:2012-01-03 07:42:55
【问题描述】:
我正在寻找一种更快的方法来从图像中提取直方图数据。 我目前正在使用这段代码,对于 6mpx JPEG 图像需要大约 1200 毫秒:
ImageReader imageReader = (ImageReader) iter.next();
imageReader.setInput(is);
BufferedImage image = imageReader.read(0);
int height = image.getHeight();
int width = image.getWidth();
Raster raster = image.getRaster();
int[][] bins = new int[3][256];
for (int i = 0; i < width; i++)
for (int j = 0; j < height; j++) {
bins[0][raster.getSample(i, j, 0)]++;
bins[1][raster.getSample(i, j, 1)]++;
bins[2][raster.getSample(i, j, 2)]++;
}
你有什么建议吗?
【问题讨论】:
-
根据结果需要的准确度,您可以抽取子样本并进行推断。