Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

OpenCV cv2.line() 함수로 이미지에 선 그리기 완벽 가이드

이 튜토리얼에서는 Python의 OpenCV 라이브러리에서 제공하는 cv2.line() 함수를 사용하여 이미지 위에 직선을 그리는 방법을 단계별로 알아보겠습니다. 이미지 처리 기초 작업 중 하나인 선 그리기는 객체 검출 결과 시각화, 관심 영역(ROI) 표시 등 다양한 용도로 활용됩니다.

원본 이미지

아래는 선을 그리기 전의 원본 이미지입니다.

OpenCV cv2.line() 함수로 이미지에 선 그리기 완벽 가이드

알고리즘

1단계: cv2 모듈을 임포트합니다.
2단계: imread() 함수로 이미지를 불러옵니다.
3단계: image.shape 속성으로 이미지의 크기(높이, 너비, 채널 수)를 확인합니다.
4단계: 선의 시작 좌표를 정의합니다.
5단계: 선의 끝 좌표를 정의합니다.
6단계: 선의 두께를 정의합니다.
7단계: cv2.line() 함수를 호출하고 위에서 정의한 값들을 매개변수로 전달하여 선을 그립니다.

예제 코드

import cv2

# 이미지 불러오기
image = cv2.imread('testimage.jpg')

# 이미지 크기 확인
height, width, channels = image.shape

# 선의 시작점과 끝점 정의
startpoint = (0, 0)
endpoint = (height, width)

# 선의 두께와 색상 설정 (BGR 형식)
thickness = 9
color = (255, 0, 0)

# 선 그리기
image = cv2.line(image, startpoint, endpoint, color, thickness)

# 결과 출력
cv2.imshow('Line', image)

코드 설명

  • 시작점과 끝점: 시작점은 이미지의 좌측 상단 모서리인 (0, 0)으로, 끝점은 (height, width)로 설정하여 대각선 방향의 선을 만듭니다.
  • 두께(thickness): 값이 클수록 더 굵은 선이 그려집니다. 여기서는 9픽셀로 설정했습니다.
  • 색상(color): OpenCV는 RGB가 아닌 BGR(파랑, 초록, 빨강) 순서로 색상을 표현합니다. 따라서 (255, 0, 0)은 파란색을 의미합니다.

실행 결과

OpenCV cv2.line() 함수로 이미지에 선 그리기 완벽 가이드

결과 분석

실행 결과를 보면 이미지의 좌측 상단에서 우측 하단까지 대각선 방향으로 파란색 선이 그려진 것을 확인할 수 있습니다. 이처럼 cv2.line() 함수는 시작점, 끝점, 색상, 두께만 지정하면 손쉽게 원하는 위치에 선을 그릴 수 있어, 이미지 위에 주석이나 마커를 추가하는 작업에 매우 유용합니다.