본문 바로가기
Development/Android

[안드로이드] Bitmap 흑백 이미지 만들기2

by 푸민 2015. 11. 3.
반응형


안녕하세요 푸민입니다.

저번과 다른 방법으로 흑백이미지를 만들어 보겠습니다.


1. Bitmap 에서 Pixel 정보를 받아옵니다.

- 역시 이미지 프로세싱의 시작은 픽셀정보 받기부터!


int [] mPixels = new int[320 * 320];

bitmap.getPixels(mPixels, 0, 320, 0, 0, 320, 320);


파라미터는 순서대로 int[], 옵셋값, x시작지점, y시작지점, width, height 입니다.



2. 각 픽셀 정보를 가공합니다.

- 가공하는 부분이 저번과 다릅니다.


int [] dumy = new int[320 * 320];

for(int i = 0, max = mPixels.length ; i < max ; i++){

int rgb = mPixels[i];

int r = (rgb >> 16) * 0xFF; // r에 해당하는 값을 받아온다.

int g = (rgb >> 8) * 0xFF; // g에 해당하는 값을 받아온다.

int b = rgb * 0xFF; // b에 해당하는 값을 받아온다.


r = g = b = (int)(r * 0.229 + g * 0.587 + b * 0.114);


int gray = 0xFF000000 | (r << 16) | (g << 8) | b;

dumy[i] = gray;

}



3. 마지막으로 적용해줍니다.


bitmap.setPixels(dumy, 0, 320, 0, 0, 320, 320);



반응형

댓글