我有一个图像,我正在提取一个子图像以供给我的神经网络。我试图计算同一邻域中所有子图像的平均输出。所以如果我有一个原始图像(m×n像素),并且在大小(sub_width和sub_height)处发现了一个子图像(sub_x,sub_y),我还需要提取相同大小的子图像(sub_width和sub_height )在(sub_x +米,sub_y + n),其中m和n为1去 - 3.查找相邻子图像的算法
我已经有一个工作溶液:
for (int subX = (x-3); subX < (x+4); subX++)
for (int subY = (y-3); subY < (y+4); subY++)
if ((subX > 0) && (subY > 0))
if (((subX + width) < img.getWidth()) && ((subY + height) < img.getHeight())){
counter++;
testingImage = img.getSubimage(subX, subY, width, height);
}
的x,y,宽度和高度均为整数我发现的原始子图像。
img是原始的全尺寸BufferedImage。
虽然我对表演不太满意。有没有更快/更聪明的方法来做到这一点?
'img.getSubimage'花费了多少时间?如果很多,也许你可以用你自己的专门功能替换它。 – mik01aj 2014-12-05 21:25:08
我没有时间说实话。但是,我不认为这个问题与getSubimage方法有关。性能非常好,直到我添加了这个代码块。我大大增加了所需的计算。这只是应用程序的一小部分,但我有N个元素需要通过这个代码块。以前我只有一个subImage,所以没问题。 – wFateem 2014-12-05 22:17:06