Im пытается писать RGB данные из BufferedImage в массив с помощью растрового изображения, но Im получение координат из ограничивающей Exception, что я не могу понять:координат из ограничивающей Exception
int height = img.getHeight();
int width = img.getWidth();
Raster R = img.getData();
double[] output = new double[3];
double[][][] pixel = new double[3][255][255];
for(int i=0;i<height;i++){
for(int j=0;j<width;j++){
R.getPixel(i,j,output);
pixel[0][i][j] = output[0];
pixel[1][i][j] = output[1];
pixel[2][i][j] = output[2];
Предполагается, для записи значения пикселя с координатами (i,j)
для красного в pixel[0][i][j]
, для зеленого в [1][i][j]
и синим в pixel[2][i][j]
.
Im получая исключение для линии:
R.getPixel(i,j,output);
StackTrace, используя изображение с высотой 1 и шириной 2:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!
at java.awt.image.ComponentSampleModel.getSampleDouble(Unknown Source)
at java.awt.image.SampleModel.getPixel(Unknown Source)
at java.awt.image.Raster.getPixel(Unknown Source)
at Color_Histogram.calculate(Color_Histogram.java:43)
at Color_Histogram.main(Color_Histogram.java:83)
Подсказка: вы хотите вставить полное исключение stacktrace. – GhostCat
Не помещайте информацию в комментарии; обновите свой вопрос, пожалуйста. – GhostCat