Deep Learning/Computer Vision
OpenCV (7) - 적응 임계점 처리하기
Jun's N
2022. 6. 1. 22:29
하나의 이미지에 다수의 조명 상태가 존재하는 경우 적용하면 좋다.
전체 픽셀을 기준으로 임계 값을 적용하지 않는다.
cv2.adaptiveThreshold(image, max_value, adaptive_method, type, block_size, C)
max_value : 임계 값을 넘었을 때 적용할 값
adaptive_method : 임계 값을 결정하는 계산 방법
- ADAPTIVE_THRESH_MEAN_C : 주변 영역의 평균 값으로 결정
- ADAPTIVE_THRESH_GAUSSIAN_C
type : 임계점을 처리하는 방식
block_size : 임계 값을 적용할 영역의 크기
C : 평균이나 가중 평균에서 차감할 값
import cv2
image = cv2.imread('hand_writing_image.jpg', cv2.IMREAD_GRAYSCALE)
ret, thres1 = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)
thres2 = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 21, 3)
plt.imshow(cv2.cvtColor(image, cv2.COLOR_GRAY2RGB))
plt.show()
plt.imshow(cv2.cvtColor(thres1, cv2.COLOR_GRAY2RGB))
plt.show()
plt.imshow(cv2.cvtColor(thres2, cv2.COLOR_GRAY2RGB))
plt.show()
728x90