[스터디노트] OpenCV - 그리기 함수

Hwan·2024년 2월 12일

OpenCV

목록 보기
9/15
post-thumbnail

OpenCV 그리기 함수

(1) 그리기 함수

  • OpenCV는 영상에 선, 도형, 문자열을 출력하는 그리기 함수를 제공
  • 선 그리기 : 직선, 화살표, 마커 등
  • 도형 그리기 : 사각형, 원, 타원, 다각형 등
  • 문자열 출력
  • OpenCV 주요 그리기 함수

(2) 그리기 함수 사용 시 주의할 점

  • 그리기 알고리즘을 이용하여 영상의 픽셀 값 자체를 변경
    -> 원본 영상이 필요하면 복사본을 만들어서 그리기 & 출력
  • 그레이스케일 영상에는 컬러로 그리기 안됨
    -> cv2.cvtColor()로 BGR 컬러 영상으로 변환한 후 그리기 함수 호출

(3) 직선 그리기

  • 직선 그리기 함수
  • shift는 축소된 형태의 영상을 만들었을 경우에 사용되지만 거의 사용되지 않음

(4) 도형(사각형, 원, 다각형) 그리기

  • 사격형 그리기 함수
  • 원 그리기 함수
  • 다각형 그리기 함수

(5) 문자열 출력

  • 문자열 출력 함수

(6) 그리기 함수 실습

  • 다양한 그리기 함수 실행 예제
import numpy as np
import cv2

img = np.full((400, 400, 3), 255, np.uint8)

cv2.line(img, (50, 50), (200, 50), (0, 0, 255), 5)
cv2.line(img, (50, 60), (150, 160), (0, 0, 128))

cv2.rectangle(img, (50, 200, 150, 100), (0, 255, 0), 2)
cv2.rectangle(img, (70, 220), (180, 280), (0, 128, 0), -1)

cv2.circle(img, (300, 100), 30, (255, 255, 0), -1, cv2.LINE_AA)
cv2.circle(img, (300, 100), 60, (255, 0, 0), 3, cv2.LINE_AA)

pts = np.array([[250, 250], [300, 200], [350, 300], [250, 300]])
cv2.polylines(img, [pts], True, (255, 0, 255), 2)

text = 'Hello? OpenCV' + cv2.__version__
cv2.putText(img, text, (50, 350), cv2.FONT_HERSHEY_SIMPLEX, 0.8,
            (0, 0, 255), 1, cv2.LINE_AA)

cv2.imshow('img', img)
cv2.waitKey()
cv2.destroyAllWindows()

profile
Hi.

0개의 댓글