본문 바로가기
전공수업/영상처리(C언어)

[영상처리] Binary Image (OpenCV, C언어)

by JooRi 2024. 10. 7.
728x90
SMALL

* Binary Image

이미지의 평균 밝기값을 기준으로 각 픽셀을 밝거나 어둡다고 판단하여 바이너리 이미지로 변환 생성한다.

 

출력
바이너리 이미지 생성 코드

 

1. 모든 픽셀 값을 구한다. 픽셀 값은 0~255 사이의 값으로, 밝기를 나타낸다.

2. 픽셀 값의 합을 총 픽셀 수(행x열)로 나누어 평균 밝기를 구한다.

3. 각 픽셀을 순회하며 해당 픽셀값이 평균 밝기보다 크면 255(흰색), 작으면 0(검은색)을 할당한다.

 

* 블록 바이너리화

이미지를 일정 크기의 블록 단위로 나누어, 각 블록 내에서 독립적으로 평균 밝기를 계산하고, 그 평균을 기준으로 바이너리 이미지로 변환 생성한다.

이미지 전체의 변화가 아닌 블록 내부의 밝기를 비교하여 더 정밀한 처리를 수행한다.

 

출력
블록 바이너리화 코드

 

1. 이미지를 블록 단위로 순회한다.

 

2. 각 블록 내 모든 픽셀 값을 더하여 그 블록의 평균 밝기를 구한다.

여기서 blockEndRow와 blockEndCol는 블록이 이미지 경계를 넘어갈 수 있는 상황을 처리하기 위해 min 함수를 사용하여 계산된다. 예를 들어, 이미지 크기가 100x100인데 블록 크기가 16이면, 마지막 블록은 경계를 넘어갈 수 있으므로 이를 방지하기 위해 min을 사용하여 이미지의 끝 지점을 넘어가지 않도록 제한한다.

 

3. 계산한 평균 밝기를 기준으로 블록 내 픽셀 값을 이진화한다. 평균보다 밝으면 255, 그렇지 않으면 0으로 변환한다.

 

 

728x90
LIST

댓글