728x90
반응형
#cv2.threshold(image, thresh, max_value, type): 임계값을 기준으로 흑/백으로 분류하는 함수
#image: 처리할 Gray Scale 이미지
#thresh: 임계 값 (전체 픽셀에 적용)
#max_value: 임계 값을 넘었을 때 적용할 값
#type: 임계점을 처리하는 방식
#1) THRESH_BINARY: 임계 값보다 크면 max_value, 작으면 0
#2) THRESH_BINARY_INV: 임계 값보다 작으면 max_value, 크면 0
#3) THRESH_TRUNC: 임계 값보다 크면 임계 값, 작으면 그대로
#4) THRESH_TOZERO: 임계 값보다 크면 그대로, 작으면 0
#5) THRESH_TOZERO_INV: 임계 값보다 크면 0, 작으면 그대로
import cv2
import matplotlib.pyplot as plt
image = cv2.imread('cat.jpg', cv2.IMREAD_GRAYSCALE)
images = []
ret, thres1 = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)
ret, thres2 = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY_INV)
ret, thres3 = cv2.threshold(image, 127, 255, cv2.THRESH_TRUNC)
ret, thres4 = cv2.threshold(image, 127, 255, cv2.THRESH_TOZERO)
ret, thres5 = cv2.threshold(image, 127, 255, cv2.THRESH_TOZERO_INV)
images.append(thres1)
images.append(thres2)
images.append(thres3)
images.append(thres4)
images.append(thres5)
for i in images:
plt.imshow(cv2.cvtColor(i, cv2.COLOR_GRAY2RGB))
plt.show()
#cv2.adaptiveThreshold(image, max_value, adaptive_method, type, block_size, C): 적응 임계점 처리 함수
#하나의 이미지에 다수의 조명 상태가 존재하는 경우 적용하면 좋습니다.
#max_value: 임계 값을 넘었을 때 적용할 값
#adaptive_method: 임계 값을 결정하는 계산 방법
#1) ADAPTIVE_THRESH_MEAN_C: 주변영역의 평균값으로 결정
#2) ADAPTIVE_THRESH_GAUSSIAN_C
#type: 임계점을 처리하는 방식
#block_size: 임계 값을 적용할 영역의 크기
#C: 평균이나 가중 평균에서 차감할 값
#Adaptive Threshold를 이용하면, 전체 픽셀을 기준으로 임계 값을 적용하지 않습니다.
import cv2
image = cv2.imread('cat2.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
반응형
'Data Analysis > Data Analysis & Image Processing' 카테고리의 다른 글
9. OpenCV 도형 그리기 (0) | 2022.04.16 |
---|---|
8. OpenCV Tracker (0) | 2022.04.16 |
6. OpenCV 이미지 연산 (0) | 2022.04.07 |
5. OpenCV 이미지 변형 (0) | 2022.04.07 |
4. OpenCV 기본 사용법 (0) | 2022.04.07 |
댓글