프로그래밍 / C++ / 언리얼

Programming/Python

[Python] OpenCV 메서드 정리

아트성 2023. 6. 24. 14:07

이미지

cv2.imread (이미지 읽기)

filename string 읽고자 하는 이미지 파일의 이름을 나타냅니다. 이 때 이미지 파일의 절대 경로 또는 상대 경로를 사용할 수 있습니다.
flags int 이미지 파일을 읽는 방식을 지정하는 플래그입니다. cv2.IMREAD_COLOR (기본값, 컬러 이미지로 읽음), cv2.IMREAD_GRAYSCALE (흑백 이미지로 읽음), cv2.IMREAD_UNCHANGED (알파 채널 포함하여 읽음) 등의 값을 지정할 수 있습니다.

 

cv2.cvtColor (이미지 전환)

src numpy array 컬러스페이스를 변환하고자 하는 원본 이미지를 나타냅니다. 이 파라미터는 보통 cv2.imread 함수 등으로 이미지 파일을 읽어들여 만든 numpy 배열을 사용합니다.
code int 컬러스페이스 변환 방식을 지정하는 플래그입니다. 이 플래그에 따라 원본 이미지의 컬러스페이스를 다른 컬러스페이스로 변환할 수 있습니다. 예를 들어, cv2.COLOR_BGR2GRAY는 BGR 컬러스페이스를 흑백으로, cv2.COLOR_BGR2HSV는 BGR 컬러스페이스를 HSV로 변환합니다.

 

cv2.imshow (이미지 전환)

winname string 이미지를 표시할 윈도우의 이름을 나타냅니다. 같은 이름의 윈도우가 이미 존재하면 그 윈도우에 이미지를 표시하고, 존재하지 않으면 새로운 윈도우를 만들어 이미지를 표시합니다.
mat numpy array 표시할 이미지를 나타냅니다. 이 파라미터는 보통 cv2.imread 함수 등으로 이미지 파일을 읽어들여 만든 numpy 배열을 사용합니다.

 

cv2.mwrite

filename string 이미지를 저장할 파일의 이름을 나타냅니다. 파일 이름에는 확장자까지 포함해야 합니다 (예: "image.jpg").
img numpy array 저장할 이미지를 나타냅니다. 이 파라미터는 보통 cv2.imread 함수 등으로 이미지 파일을 읽어들여 만든 numpy 배열을 사용합니다.

 

cv2.waitKey (키보드 입력)

delay int 키보드 입력을 대기할 시간을 밀리초 단위로 나타냅니다. delay가 0이면 키보드 입력이 있을 때까지 무한히 대기하고, 그 외의 경우는 지정한 시간 동안 대기한 후에 반환합니다.

 

cv2.destroyAllWindows (윈도우 종료)

 

도형

cv2.line (직선 그리기)

img numpy.ndarray 이미지를 표현하는 2차원 또는 3차원 numpy 배열.
pt1 tuple 선의 시작점 좌표. (x, y) 형태의 튜플.
pt2 tuple 선의 종료점 좌표. (x, y) 형태의 튜플.
color tuple 선의 색상. RGB 모드일 경우 (R, G, B) 형태의 튜플, 회색조 모드일 경우 스칼라 값.
thickness int 선의 두께. 픽셀 단위의 양의 정수. 디폴트 값은 1.
lineType int 선의 타입. 디폴트는 cv2.LINE_8. 다른 선택 가능한 값으로 cv2.LINE_4, cv2.LINE_AA 등이 있다.
shift int 좌표에 대한 소수점 비트의 수. 디폴트 값은 0.

 

cv2.rectangle (사각형 그리기)

img numpy.ndarray 사각형을 그릴 대상 이미지. 이미지는 2차원 또는 3차원 numpy 배열로 표현됩니다.
pt1 tuple 사각형의 시작점 좌표. (x, y) 형태의 튜플.
pt2 tuple 사각형의 종료점 좌표. (x, y) 형태의 튜플. 시작점에서 대각선 방향으로 봤을 때 위치합니다.
color tuple 사각형의 색상. RGB 모드일 경우 (R, G, B) 형태의 튜플, 회색조 모드일 경우 스칼라 값.
thickness int 선의 두께. 픽셀 단위의 양의 정수. 디폴트 값은 1. thickness가 -1이면 사각형 내부를 채웁니다.
lineType int 선의 타입. 디폴트는 cv2.LINE_8. 다른 선택 가능한 값으로 cv2.LINE_4, cv2.LINE_AA 등이 있다.
shift int 좌표에 대한 소수점 비트의 수. 디폴트 값은 0.

 

cv2.circle (원 그리기)

img numpy.ndarray 원을 그릴 대상 이미지. 이미지는 2차원 또는 3차원 numpy 배열로 표현됩니다.
center tuple 원의 중심 좌표. (x, y) 형태의 튜플.
radius int 원의 반지름. 픽셀 단위의 양의 정수.
color tuple 원의 색상. RGB 모드일 경우 (R, G, B) 형태의 튜플, 회색조 모드일 경우 스칼라 값.
thickness int 선의 두께. 픽셀 단위의 양의 정수. 디폴트 값은 1. thickness가 -1이면 원 내부를 채웁니다.
lineType int 선의 타입. 디폴트는 cv2.LINE_8. 다른 선택 가능한 값으로 cv2.LINE_4, cv2.LINE_AA 등이 있다.
shift int 좌표에 대한 소수점 비트의 수. 디폴트 값은 0.

 

cv2.putText (텍스트 그리기)

img numpy.ndarray 텍스트를 그릴 대상 이미지. 이미지는 2차원 또는 3차원 numpy 배열로 표현됩니다.
text str 이미지에 그릴 텍스트 문자열.
org tuple 텍스트가 시작될 좌표. 좌표는 (x, y) 형태의 튜플로, 왼쪽 하단을 기준으로 합니다.
fontFace int 글꼴 타입. cv2.FONT_HERSHEY_SIMPLEX, cv2.FONT_HERSHEY_PLAIN 등이 있습니다.
fontScale float 글꼴 크기. 텍스트의 크기를 결정합니다.
color tuple 텍스트의 색상. RGB 모드일 경우 (R, G, B) 형태의 튜플, 회색조 모드일 경우 스칼라 값.
thickness int 선의 두께. 픽셀 단위의 양의 정수. 디폴트 값은 1입니다.
lineType int 선의 타입. 디폴트는 cv2.LINE_8. 다른 선택 가능한 값으로 cv2.LINE_4, cv2.LINE_AA 등이 있다.
bottomLeftOrigin bool True일 경우, 이미지의 왼쪽 하단을 원점으로 삼습니다. False일 경우, 왼쪽 상단이 원점이 됩니다. 디폴트는 False입니다.
  • 폰트 인덱스

FONT_HERSHEY_SIMPLEX 0

FONT_HERSHEY_PLAIN 1
FONT_HERSHEY_DUPLEX 2
FONT_HERSHEY_COMPLEX 3
FONT_HERSHEY_TRIPLEX 4
FONT_HERSHEY_COMPLEX_SMALL 5
FONT_HERSHEY_SCRIPT_SIMPLEX 6
FONT_HERSHEY_SCRIPT_COMPLEX 7
FONT_ITALIC 16

아래 예제는 0번째 텍스트의, 두께를 2로 설정한것이다.

 

 

반응형