Изображение содержит двумерный массив пикселей. Это на самом деле значение тех пикселей, которые составляют изображение. Обычно изображение может быть цветным или в оттенках серого.
В Java класс BufferedImage используется для обработки изображений. Вам нужно вызвать метод getRGB () класса BufferedImage, чтобы получить значение пикселя.
Получение значения пикселя
Значение пикселя может быть получено с использованием следующего синтаксиса:
Color c = new Color(image.getRGB(j, i));
Получение значений RGB
Метод getRGB () принимает индекс строки и столбца в качестве параметра и возвращает соответствующий пиксель. В случае цветного изображения, он возвращает три значения (красный, зеленый, синий). Их можно получить следующим образом
c.getRed(); c.getGreen(); c.getBlue();
Получение ширины и высоты изображения
Высоту и ширину изображения можно получить, вызвав методы getWidth () и getHeight () класса BufferedImage. Его синтаксис приведен ниже.
int width = image.getWidth(); int height = image.getHeight();
Помимо этих методов, в классе BufferedImage поддерживаются и другие методы. Они кратко описаны
Sr.No. | Метод и описание |
---|---|
1 |
copyData (WritableRaster outRaster) Он вычисляет произвольную прямоугольную область BufferedImage и копирует ее в указанный WritableRaster. |
2 |
getColorModel () Возвращает ColorModel изображения. |
3 |
получить данные() Возвращает изображение как одну большую плитку. |
4 |
getData (прямоугольник прямоугольник) Он вычисляет и возвращает произвольную область BufferedImage. |
5 |
GetGraphics () Этот метод возвращает Graphics2D, но здесь для обратной совместимости. |
6 |
GetHeight () Возвращает высоту BufferedImage. |
7 |
getMinX () Возвращает минимальную координату x этого BufferedImage. |
8 |
getMinY () Возвращает минимальную координату y этого BufferedImage. |
9 |
getRGB (int x, int y) Возвращает целочисленный пиксель в стандартной цветовой модели RGB (TYPE_INT_ARGB) и цветовом пространстве sRGB по умолчанию. |
10 |
GetType () Возвращает тип изображения. |
copyData (WritableRaster outRaster)
Он вычисляет произвольную прямоугольную область BufferedImage и копирует ее в указанный WritableRaster.
getColorModel ()
Возвращает ColorModel изображения.
получить данные()
Возвращает изображение как одну большую плитку.
getData (прямоугольник прямоугольник)
Он вычисляет и возвращает произвольную область BufferedImage.
GetGraphics ()
Этот метод возвращает Graphics2D, но здесь для обратной совместимости.
GetHeight ()
Возвращает высоту BufferedImage.
getMinX ()
Возвращает минимальную координату x этого BufferedImage.
getMinY ()
Возвращает минимальную координату y этого BufferedImage.
getRGB (int x, int y)
Возвращает целочисленный пиксель в стандартной цветовой модели RGB (TYPE_INT_ARGB) и цветовом пространстве sRGB по умолчанию.
GetType ()
Возвращает тип изображения.
пример
В следующем примере демонстрируется использование Java-класса BufferedImage, который отображает пиксели изображения размером (100 x 100) —
import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; import javax.imageio.ImageIO; import javax.swing.JFrame; class Pixel { BufferedImage image; int width; int height; public Pixel() { try { File input = new File("blackandwhite.jpg"); image = ImageIO.read(input); width = image.getWidth(); height = image.getHeight(); int count = 0; for(int i=0; i<height; i++) { for(int j=0; j<width; j++) { count++; Color c = new Color(image.getRGB(j, i)); System.out.println("S.No: " + count + " Red: " + c.getRed() +" Green: " + c.getGreen() + " Blue: " + c.getBlue()); } } } catch (Exception e) {} } static public void main(String args[]) throws Exception { Pixel obj = new Pixel(); } }
Выход
Когда вы выполните приведенный выше пример, он напечатает пиксели следующего изображения —
Исходное изображение
Выход пикселей
Если вы прокрутите выходной сигнал вниз, будет виден следующий шаблон: