안녕하세요, Davey입니다. 오늘 포스팅할 내용은 opencv로 이미지를 불러올 때 불러온 이미지를 이진화 하는 방법에 대해서 설명 드리도록 하겠습니다. 이진화는 임계값을 기준으로 2가지로 구별하는 방법입니다.
opencv를 이용하여 원하는 이미지를 이진화 하기
: 일단 이미지를 이원화 하기 위해서는 이전 포스팅에도 계속적으로 반복하면서 설명 드리는 부분이지만 자를 이미지를 불러와야 합니다. 이 부분에 대한 코드와 이진화 하는 코드를 같이 설명 드리도록 하겠습니다.
코드 분석
- cv2.cvtColor(test_image, cv2.COLOR_BGR2GRAY) 불러온 이미지를 Gray 스케일로 변환
- border01, binary01 = cv2.threshold(그레이스케일한 이미지, 임계값, 최대값, cv2.THRESH_BINARY)
: Gray 스케일로 변환한 이미지를 border01 (임계값), binary01에는 이진화 한 이미지를 저장함.
- 임계값에 대해서 다시 한번 설명을 하면 흑백을 나누는 기준값을 의미합니다. 임계값 이하는 "0" 이 되고 임계값 이상은 최대값이 되는 cv2.THRESH_BINARY 를 적용해서 이진화 합니다. 임계값 종류는 아래 추가적으로 첨부 하도록 하겠습니다.
임계값 속성 값 |
의미 |
cv2.THRESH_BINARY |
1) 임계값 이상 = 최대값 |
cv2.THRESH_BINARY_INV |
1) 임계값 이상 = 0 |
cv2.THRESH_TRUNC |
1) 임계값 이상 = 임계값 |
cv2.THRESH_TOZERO |
1) 임계값 이상 = 원본값 |
cv2.THRESH_TOZERO_INV |
1) 임계값 이상 = 0 |
cv2.THRESH_MASK |
흑색 이미지로 변경 |
cv2.THRESH_OTSU |
Otsu 알고리즘 사용 |
cv2.THRESH_TRIANG |
# opencv 라이브러리 불러오기
import cv2
#원하는 이미지를 불러옴
test_image = cv2.imread("002.jpg", cv2.IMREAD_COLOR)
#불러온 이미지를 그레이 스케일로 변환
gray_tr01 = cv2.cvtColor(test_image, cv2.COLOR_BGR2GRAY)
#그레이스케일에 임계값을 적용하여 이진화 시킴
border01, binary01 = cv2.threshold(gray_tr01, 150, 255, cv2.THRESH_BINARY)
이진화 시킨 이미지 출력하기
: 위의 코드를 구현하여 이진화 시킨 이미지를 출력해보도록 하겠습니다. 원본 값과 비교하기 위해서 원본 이미지도 출력하는 코드를 삽입하도록 하겠습니다. 추가로 출력한 이미지도 첨부하도록 하겠습니다.
#원본 이미지 출력
cv2.imshow("Original Image", test_image)
#이진화한 이미지 출력
cv2.imshow("Binary Image", binary01)
cv2.waitKey(0)
cv2.destroyAllWindows()
맺음말
: 이번 포스팅은 opencv 이용하여 불러온 이미지를 이진화하는 방법에 대해서 설명 드렸습니다. 이미지 인식을 위해서 임계값을 조정해서 인식을 잘하고 더 구별하는 코드를 작성하기 위해서 많은 연습이 필요할 거라고 예상합니다. 그럼 이만 마무리 하도록 하겠습니다. 감사합니다.
제 Posting이 조금이나마 정보 전달에 도움이 되셨길 빌며, 되셨다면, 구독, 댓글, 공감 3종 세트 부탁 드립니다. 감사합니다.
[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁 드립니다. 검토 후 수정 및 삭제 조치 하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]
'파이썬 (Python) > 딥러닝 (Deep Learning)' 카테고리의 다른 글
Python opencv 이용하여 이미지 흐림 효과 주는 방법 (0) | 2021.02.24 |
---|---|
Python opencv 이용하여 이미지 색상을 반전 시키는 방법 + 색상 역상시키는 방법 (0) | 2021.02.24 |
Python opencv 이용하여 이미지 색상 흑백으로 바꾸기 (0) | 2021.02.23 |
Python opencv 이용하여 이미지 원하는 부분만 자르기 방법 (0) | 2021.02.23 |
Python opencv 이용하여 이미지 확대 및 축소 하는 방법 (0) | 2021.02.22 |
댓글