코드모음/OpenCV

Opencv - CopyMakeBorder, Rectangle, Circle

John-Co 2023. 8. 7. 11:41

CopyMakeBorder 란?

Image 의 Top, Bottom, Left, Right 부분에 특정 값으로 Pixel 을 덧 붙여주는 함수입니다.

BorderType Option 에 따라 다양하게 Pixel 을 추가할 수 있으며 아래 예제를 통해서 확인해 보도록 하겠습니다.

 

import cv2 as cv
import numpy as np

img = cv.imread('./images/demo.jpg')

option = 0 # option = 0~4
img2 = cv.copyMakeBorder(test, 50, 50, 50, 50, option)

cv.imshow('test', test)

Bordertype Option 0~2
Bordertype Option 3~4

Option 0 : '255' 값으로 RGB 채널을 이어 붙입니다.
Option 1 : 가장자리에 위치한 RGB 값 그대로를 이어붙입니다.
Option 2 : 가장자리에 위치한 RGB 값을 대칭으로 이어 붙입니다.
Option 3 : 각 가장자리에 위치한 RGB 값을 상/하, 좌/우를 매칭하여 이어 붙입니다.
Option 4 : 각 가장자리에 위치한 RGB 값을 상/하, 좌/우를 매칭하고 대칭으로 이어 붙입니다.

Rectangle

Point 는 좌측 상단, 우측 하단 총 2개를 입력받으며 해당 포인트를 기점으로 사각형을 그려 넣습니다.

import cv2 as cv

img = cv.imread('./images/demo.jpg')
img = cv.rectangle(img, (5,5), (100,100), (0,0,255), 10)

cv.imshow('test', img)
cv.waitKey()
cv.destroyAllWindows()

Circle

중심점 Point 1개와, 반지름 길이를 입력받아 해당 위치에 정원을 그려넣습니다.

import cv2 as cv

img = cv.imread('./images/demo.jpg')
img = cv.circle(img, (200, 200), 50, (0,0,255), 10)

cv.imshow('test', img)
cv.waitKey()
cv.destroyAllWindows()

반응형