OpenCV Python 검은색 빈 공간 채우기OpenCV/OpenCV 강좌2024. 4. 19. 21:35
Table of Contents
반응형
검은색 빈공간을 채우는 OpenCV Python 예제입니다.
2024. 4. 17 최초 작성
실행 결과입니다. 왼쪽 원본 이미지에 보이는 검은색 공백들이 메꿔진 결과가 오른쪽 결과 이미지에 보입니다.
전체 코드입니다.
import cv2 def fill_internal_areas(image_array): # 그레이스케일로 변환합니다. gray = cv2.cvtColor(image_array, cv2.COLOR_BGR2GRAY) # 컨투어를 찾습니다. contours, hierarchy = cv2.findContours(gray, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SIMPLE) if contours and hierarchy is not None: for idx, contour in enumerate(contours): # 0 1 2 3 # Hierarchy는 [Next, Previous, First_Child, Parent] 값을 갖습니다. # 컨투어가 부모가 없다면 hierarchy[idx][3]는 -1입니다. if hierarchy[0, idx, 3] != -1: # 컨투어를 흰색으로 채웁니다. cv2.drawContours(image_array, [contour], -1, (255, 255, 255), cv2.FILLED) return image_array img_original = cv2.imread('test.png') # 이진화합니다. _, binary_image = cv2.threshold(img_original, 127, 255, cv2.THRESH_BINARY) # 검은색 빈 공백을 채웁니다. img = fill_internal_areas(binary_image.copy()) # 원본 이미지와 결과 이미지를 나란히 보여줍니다. result = cv2.hconcat([img_original, img]) cv2.imshow('result', result) cv2.waitKey(0) |
테스트에 사용한 이미지입니다.
반응형
'OpenCV > OpenCV 강좌' 카테고리의 다른 글
OpenCV - 이미지 파일을 mp4 동영상 파일로 변환하는 파이썬 코드 (0) | 2024.04.20 |
---|---|
OpenCV Python - 동영상 파일을 일련번호 붙은 이미지 파일로 저장하기 (0) | 2024.04.20 |
Matplotlib의 컬러맵을 화면에 출력하는 OpenCV 예제 (0) | 2024.04.18 |
OpenCV Python kmeans 예제 (0) | 2024.04.10 |
OpenCV Python inpaint 함수 : 손상된 이미지 복원(Image Inpainting) (0) | 2024.04.04 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!