Java - получить матрицу значений пикселей из изображения - PullRequest
0 голосов
/ 15 октября 2019

Добрый вечер,

Я загружаю изображение на Java с помощью BufferedImage. Я бы преобразовал этот объект в простую 2D матрицу, где каждая ячейка имеет значение 8-битного пикселя (от 0 до 255). Это необходимо для работы с изображениями в градациях серого, а также с изображениями RGB (в этом случае выходными данными должны быть 3 матрицы, по одной на каждый канал или одна 3D-матрица). Это похоже на то, как MatLab обрабатывает изображения.

Кто-нибудь, кто может мне помочь?

Спасибо

1 Ответ

1 голос
/ 15 октября 2019

Вы можете попробовать что-то вроде этого:

BufferedImage bf = //Assuming you have a buffered image
int[][] R = new int[bf.getWidth()][bf.getHeight()];
int[][] G = //Same as for R
int[][] B = //Same as for R

for(int r = 0; r < bf.getWidth(); r++)
{
     for(int c = 0; c < bf.getHeight() c++)
     {
           //Uses the Java color class to do the conversion from int to RGB
           Color temp = new Color(bf.getRGB(r, c));
           R[r][c] = temp.getRed();
           G[r][c] = temp.getGreen();
           B[r][c] = temp.getBlue();
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...