파이썬 모듈 : OpenCV 윤곽선 검출

2023. 3. 27. 01:55·파이썬/OpenCV
반응형
이번 글에서는 파이썬 cv2 모듈을 이용하여 이미지 윤곽선을 검출하는 방법에 대해 알아보겠습니다.

윤곽선 검출

이미지 윤곽선 검출은 이미지에서 물체의 윤곽선을 검출하는 것을 의미합니다. 이를 통해 이미지에서 물체의 형태와 크기를 파악할 수 있습니다. OpenCV에서는 다양한 윤곽선 검출 알고리즘을 제공하며, 이 중 가장 많이 사용되는 알고리즘은 cv2.findContours() 함수를 이용한 Contour Detection 입니다.


Contour Detection

Contour Detection은 이미지에서 객체의 경계를 인식하여, 객체의 윤곽선을 검출하는 알고리즘입니다. 아래 코드는 이미지 윤곽선을 검출하는 예제입니다.

import cv2

# 이미지 읽어오기
img = cv2.imread('image.jpg')

# 이미지를 grayscale로 변환
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 이미지 이진화
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)

# 윤곽선 검출
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

# 윤곽선 그리기
cv2.drawContours(img, contours, -1, (0,255,0), 3)

# 이미지 출력
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

위 코드에서 cv2.findContours() 함수는 이미지에서 윤곽선을 검출하는 함수입니다. 이 함수는 이미지를 이진화한 후, 이진화된 이미지에서 윤곽선을 검출합니다. RETR_TREE와 CHAIN_APPROX_SIMPLE은 각각 윤곽선 검출 방법을 지정하는 파라미터입니다.


추가 정보

Contour Detection 외에도 이미지 윤곽선 검출을 위한 다양한 알고리즘이 존재합니다. 예를 들어, cv2.Canny() 함수를 사용하여 이미지의 가장자리를 검출하고 cv2.HoughLinesP() 함수를 사용하여 라인을 검출하는 방법이 있습니다. 이 외에도 cv2.cornerHarris() 함수를 사용하여 이미지에서 코너를 검출할 수 있습니다.


결론

이상으로 파이썬 cv2 모듈을 이용한 이미지 윤곽선 검출에 대해 알아보았습니다. 이미지 처리에서 많이 사용되는 윤곽선 검출 알고리즘인 Contour Detection을 이용하여 이미지에서 물체의 윤곽선을 검출할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'파이썬 > OpenCV' 카테고리의 다른 글

파이썬 모듈 : OpenCV 동영상 캡쳐&녹화  (0) 2023.03.28
파이썬 모듈 : OpenCV 가장자리 검출  (0) 2023.03.26
파이썬 모듈 : OpenCV 이미지 확대, 회전, 자르기  (1) 2023.03.25
파이썬 모듈 : OpenCV 읽기, 쓰기, 필터링  (0) 2023.03.24
이미지의 크기 변환 cv2.resize()  (0) 2022.11.17
'파이썬/OpenCV' 카테고리의 다른 글
  • 파이썬 모듈 : OpenCV 동영상 캡쳐&녹화
  • 파이썬 모듈 : OpenCV 가장자리 검출
  • 파이썬 모듈 : OpenCV 이미지 확대, 회전, 자르기
  • 파이썬 모듈 : OpenCV 읽기, 쓰기, 필터링
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    cv2
    appdevelopment
    rtsp
    파이썬
    devlife
    리스트
    상품 리뷰 크롤링
    믈레코비타멸균우유
    programmerlife
    Python
    스크립트 실행
    긴유통기한우유
    C#
    유니티
    쇼핑몰리뷰
    리뷰관리
    셀레니움
    카페24리뷰이관
    ipcamera
    스크립트 실행 순서
    unity
    카페24리뷰
    codingtips
    스마트스토어리뷰
    list
    리뷰이관
    learntocode
    codingcommunity
    라떼우유
    programming101
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
파이썬 모듈 : OpenCV 윤곽선 검출
상단으로

티스토리툴바