반응형
##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, 작으면 그대로
from google.colab import files
uploaded = files.upload()
import cv2
import matplotlib.pyplot as plt
image = cv2.imread('gray_image.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를 이용하면, 전체 픽셀을 기준으로 임계 값을 적용하지 않습니다.
from google.colab import files
uploaded = files.upload()
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()
반응형
'개발자 > Computer Vision' 카테고리의 다른 글
[Computer Vision] OpenCV 기하학적(geometric) 변환 정리(활용 예제 및 그림 설명 포함) (0) | 2020.12.22 |
---|---|
OpenCV Rectangle 함수 에러 해결법 rectangle typeerror: function takes exactly 4 arguments (2 given) (0) | 2020.12.22 |
카메라 Calibration (0) | 2020.10.30 |
KNN 알고리즘, 숫자 인식예제 까지 (0) | 2020.09.28 |
OpenCV 이미지 연산 (0) | 2020.07.13 |