7-1. 영상의 이진화

이진화(Binariation)

    영상의 픽셀 값을 0 또는 255(1)로 만들어 관심 영역과 비관심 영역 구분 -> 그레이스케일 영상 사용

     임계값(Threshold, T)에 따라 다르게 영역을 구분할 수 있다.

그레이스케일 영상 이진화 함수 (출처: FastCampus)
Threshold 선정에 따른 이진화 결과 예시 (출처: FastCampus)

     

    전역 이진화 함수: cv2.threshold(src, thresh, maxval, type, dst) -> retval, dst

     src는 8-bit 또는 32-bit 다채널 입력 영상, dst는 입력 영상과 동일한 크기, 채널, 타입을 갖는 출력 영상

     thresh는 사용자 지정 임계값

     maxval는 cv2.THRESH_BINARY 또는 cv2.THRESH_BINARY_INV 방법 사용 시 최댓값. (보통은 255)

     type는 cv2.THRESH_로 시작하는 플래그로 임계값 함수 동작 또는 자동 임계값 결정 방법을 지정 (플래그는 아래 그림 참고)

     retval는 사용된 임계값

임계값 함수 type 인자 플래그 종류. 자동 결정 플레그와 임계값 동작 방식을 한 번에 사용도 가능하다  (출처: FastCampus)
임계값 함수를 사용하여 영상 이진화해본 결과. 위는 cv2.THRESH_BINARY를 사용했고, 아래는 cv2.THRESH_BINARY_INV를 사용한 모습. 트랙바로 임계값이 변함에 따라 출력 영상이 달라짐을 직접 볼 수 있다.


7-2. 자동 이진화: Otsu 방법

Otsu 이진화

    배경과 객체 두 개로만 구성되어 있는 입력 영상의 경우 히스토그램으로 나타내면 쌍봉분포(Bimodal Distribution) 형태를 갖는데, 이 때 두 봉(= 두 픽셀 분포 그룹)의 분산이 최소가 되는 임의의 임계값 T를 찾는 일종의 최적화 알고리즘

      Otsu 계산 진행의 경우 여기 참고! (특히 Visualization 영상)

Otsu 이진화 이해도 (출처: FastCampus)


7-3. 지역 이진화

지역 이진화

    영상을 윈도우(window) 단위로 쪼개어 이진화를 수행하는 방식

     불균일한 조명 아래 찍힌 영상에서 내용을 추출할 때 효과적 (전역 이진화를 사용할 경우 불균일한 조명 성분을 보상해주어야한다.)

     지역 이진화를 수행할 경우 고려할 점:

     1. 윈도우의 크기

     2. 윈도우의 형태 (Uniform, Gaussian ...)

     3. 윈도우의 겹침 상태 (Overlap vs. Non-overlap)

     4. 윈도우 안 쌍봉분포가 없는 경우 처리 방식

    등이 있다.

지역 이진화 처리 원리 (출처: FastCampus)

    아래 그림에서 보다시피 전역 이진화보다 배경과 객체를 더 잘 구별하는 모습을 볼 수 있다.

전역 이진화와 지역 이진화 수행 결과 (출처: FastCampus)

    적응형 이진화 함수(지역 이진화 함수): cv2.adaptiveThreshold(src, maxval, adaptiveMethod, thresholdType, blockSize, C, dst) -> dst

     src는 그레이스케일 입력 영상, dst는 입력 영상과 동일한 크기, 채널, 타입을 갖는 출력 영상

     maxval는 임계값 함수 최댓값. (보통은 255)

     adaptiveMethod는 블록 평균 계산 방법 지정, cv2.ADAPTIVE_THRES_MEAN_C는 산술 평균, cv2.ADAPTIVE_THRESH_GAUSSIAN_C는 가우시안 가중치 평균

     thresholdType는 cv2.THRESH_BINARY 또는 cv2.THRESH_BINARY_INV로 지정

     blockSize는 블록 크기로 3 이상의 홀수 사용

     C는 블록 내 평균값 또는 블록 내 가중 평균값에서 뺄 값

트랙바를 사용하여 적응형 이진화 함수의 블록 사이즈를 조절하여 이진화 해본 결과. 블록 평균 계산 방법은 가우시안 가중치를 사용.


인증 타임

과학 실험할 때 세포 염색 후 현미경으로 관찰한 사진을 디지털 처리를 통해 세포만 더 드러나게 해주는 옵션이 있었는데 그 원리에 대해서 이해할 수 있어서 흥미로웠다.

카메라로 찍거나 스캔된 영상을 더 깔끔하게 처리해주는 이진화 방식도 쉽게 구현할 수 있어서 놀라웠다. (세상에 똑똑한 사람들이 많구나를 또 한 번 느꼈다.)

7-1. 공부 인증 사진
7-2. 공부 인증 사진
7-3. 공부 인증 사진


#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #OpenCV를 활용한 컴퓨터비전과 딥러닝 올인원 패키지 Online

 

패스트캠퍼스(FastCampus) 강의 둘러보러 가기 

   

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.


 

+ Recent posts