오츠의 알고리즘 & 적응형 스레시홀드
by Cori바이너리 이미지를 만들기 위해 경계값을 정할 때, 반복적인 시도 없이 한 번에 효율적으로 경계 값을 찾을 수 있는 오츠의 알고리즘과
원본 영상에 조명이 일정하지 않거나 배경색이 여러 가지인 경우에 사용하는 적응형 스레시홀드에 대해 알아본다.
* 해당 포스팅에서 다루고 있는 모든 내용은 다음 서적을 참고하였습니다.
0. 오츠의 알고리즘
0) 정의
-> 경계 값을 임의로 정해서 픽셀들을 두 부류로 나누고 두 부류의 명암 분포를 반복해서 구한 다음 두 부류의 명암 분포를 가장 균일하게 하는 경계값을 선택하는 알고리즘이다.
1) 오츠의 알고리즘 구현
-> cv2.threshold() 함수의 마지막 인자에 cv2.THRESH_OTSU를 추가해서 전달한다. (원래 경계 값을 전달하는 두번째 인자는 무시됨)
1. 적응형 스레시홀드
0) 정의
-> 이미지를 여러 영역으로 나눈 다음 그 주변 픽셀 값만 가지고 계산하여 경계 값을 구하는 스레시홀드
* 원본 영상에 조명이 일정하지 않거나 배경색이 여러 가지인 경우 아무리 여러 번 경계값을 바꿔가며 시도해도 하나의 경계 값을 이미지 전체에 적용해서는 좋은 결과를 얻지 못하기 때문에 사용한다.
1) 구현
-> adaptivethreshold 함수를 사용하여 구현한다.
적응형 스레시홀드 함수에 전달하는 인자 값 중 method에는 다음 두 가지가 있다.
· cv2.ADAPTIVE_THRESH_MEAN_C: 이웃 픽셀의 평균으로 결정 -> 선명도가 좋음
· cv2.ADAPTIVE_THRESH_GAUSSIAN_C: 가우시안 분포에 따른 가중치의 합으로 결정 -> 잡티가 훨씬 적음
'AI > Computer Vision' 카테고리의 다른 글
영상 합성과 마스킹 (1) | 2021.09.22 |
---|---|
두 영상 간 다른 점 찾기 (차영상) (1) | 2021.09.21 |
영상 합성 (알파 블렌딩) (0) | 2021.09.20 |
컬러 스페이스 변환 (0) | 2021.09.18 |
관심영역 지정하기 (0) | 2021.09.17 |
블로그의 정보
코딩하는 오리
Cori