Java DIP-이미지 픽셀

이미지에는 2 차원 픽셀 배열이 포함됩니다. 실제로 이미지를 구성하는 픽셀의 값입니다. 일반적으로 이미지는 컬러 또는 회색조 일 수 있습니다.

Java에서 BufferedImage 클래스는 이미지를 처리하는 데 사용됩니다. 당신은 전화해야합니다getRGB() 의 방법 BufferedImage 픽셀 값을 가져 오는 클래스.

픽셀 값 얻기

픽셀 값은 다음 구문을 사용하여 수신 할 수 있습니다.

Color c = new Color(image.getRGB(j, i));

RGB 값 얻기

방법 getRGB()행 및 열 인덱스를 매개 변수로 취하고 적절한 픽셀을 리턴합니다. 컬러 이미지의 경우 (Red, Green, Blue)의 세 가지 값을 반환합니다. 다음과 같이 얻을 수 있습니다.

c.getRed();
c.getGreen();
c.getBlue();

이미지의 너비와 높이 얻기

이미지의 높이와 너비는 getWidth()getHeight()BufferedImage 클래스의 메소드. 구문은 다음과 같습니다.

int width = image.getWidth();
int height = image.getHeight();

이러한 메서드 외에도 BufferedImage 클래스에서 지원되는 다른 메서드가 있습니다. 간단히 설명합니다.

Sr. 아니. 방법 및 설명
1

copyData(WritableRaster outRaster)

BufferedImage의 임의의 직사각형 영역을 계산하여 지정된 WritableRaster에 복사합니다.

2

getColorModel()

이미지의 ColorModel을 반환합니다.

getData()

이미지를 하나의 큰 타일로 반환합니다.

4

getData(Rectangle rect)

BufferedImage의 임의 영역을 계산하고 반환합니다.

5

getGraphics()

이 메서드는 Graphics2D를 반환하지만 이전 버전과의 호환성을 위해 여기에 있습니다.

6

getHeight()

BufferedImage의 높이를 반환합니다.

7

getMinX()

이 BufferedImage의 최소 x 좌표를 리턴합니다.

8

getMinY()

이 BufferedImage의 최소 y 좌표를 리턴합니다.

9

getRGB(int x, int y)

기본 RGB 색상 모델 (TYPE_INT_ARGB) 및 기본 sRGB 색상 공간에서 정수 픽셀을 반환합니다.

10

getType()

이미지 유형을 반환합니다.

다음 예제는 크기 (100 x 100)의 이미지 픽셀을 표시하는 java BufferedImage 클래스의 사용을 보여줍니다.

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();
   }
}

산출

위의 예를 실행하면 다음 이미지의 픽셀이 인쇄됩니다.

Original Image

Pixels Output

출력을 아래로 스크롤하면 다음 패턴이 보입니다.