바뀜

1,388 바이트 추가됨 ,  2021년 10월 4일 (월) 17:32
218번째 줄: 218번째 줄:     
오츠의 알고리즘을 사용하면 모든 경우의 수에 대한 경계값을 조사하기 때문에 느리다.
 
오츠의 알고리즘을 사용하면 모든 경우의 수에 대한 경계값을 조사하기 때문에 느리다.
 +
|-
 +
|적응형 트레숄드
 +
|그러나.. 조명이 일정하니 않은 경우엔 하나의 경계값을 전체에 적용하면 일부가 타버리는 경우가 있다.
 +
때문에 여러 영역에 따라 달리 적용해주어야 한다.
 +
|<syntaxhighlight lang="python">
 +
block_size = 9  # 블록사이즈
 +
c = 5  # 차감상수
 +
 +
cov_img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, block_size, c)
 +
</syntaxhighlight>적응형에서 가우시안 분포를 사용해 정리하는 편이 노이즈도 적고 깨끗한 이미지를 얻을 수 있다.
 +
|}
 +
 +
=== 이미지 준비 ===
 +
{| class="wikitable"
 +
!의도
 +
!설명
 +
!방법
 +
|-
 +
|노멀라이즈
 +
|정규화 하면 흐릿했던 이미지의 격차를 벌려 선명한 이미지를 얻을 수 있다.
 +
|<syntaxhighlight lang="python">
 +
norm = cv2.normalize(img, None, 0, 255, cv2.NORM_MINMAX)  # 구간 노멀라이즈를 실행한다.
 +
</syntaxhighlight>
 +
|-
 +
|이퀄라이즈
 +
|중심에서 멀리 떨어진 값은 노멀라이즈를 적용해도 여전히 흐리다.
 +
노멀라이즈 후 누적값을 전체 개수로 나누어 나온 값을 원래 값에 매핑.
 +
 +
각각의 값이 전체 분포에 차지하는 비중에 따라 재분배하여 명암대비에 효과적.
 +
 +
빛이 적어 윤곽선이 흐릿한 부분을 살려준다.
 +
|<syntaxhighlight lang="python">
 +
img = cv2.equalizeHist(img)
 +
</syntaxhighlight>
 
|}
 
|}