[OpenCV] 5. 도형 그리기

최재혁·2022년 10월 4일
0

opencv-python

목록 보기
6/10

점, 선 그리기

Parameter 설명

img(numpy.ndarray) : 그리고자 하는 영상

pt1(Point) : 좌표1

pt2(Point) : 좌표2

color(color, grayscale) : 색상

thickness(int) (default==1) : 선의 두께

lineType(int) (default==cv2.LINE_8) : 선의 종류

shift(int) (default==0) : bit shift로 실숫값 좌표로 도형 그리기 함수를 사용

Function 설명

cv2.line(img, pt1, pt2, color, thickness, lineType, shift)
좌표 pt1과 pt2를 이어 선을 그리는 함수, pt2를 pt1으로 바꾸면 점을 그림

cv2.circle(img, pt1, radius, color, thickness, lineType, shift)
좌표 pt1을 기준으로 radius만큼의 원을 그림

cv2.rectangle(img, pt1, pt2, color, thickness, lineType, shift)
좌표 pt1과 pt2를 왼쪽 위 꼭짓점 오른쪽 아래 꼭짓점으로 두어 직사각형을 그림

cv2.polylines(img, [pt1, pt2, …], isClosed, color, thickness, lineType, shift)
좌표들의 list 인 pts의 좌표들을 순서대로 연결하여 선을 이어 그림

isClosed를 설정하여 True이면 처음 좌표와 마지막 좌표를 연결,
False이면 연결하지 않는다.

cv2.fillPoly(img, [pts], color, lineType, shift)
좌표들의 list 인 pts의 좌표들을 순서대로 연결하여 내부가 채워진 다각형을 그림

cv2.putText(img, text, pt1, fontFace, fontScale, color, thickness)
좌표 pt1을 왼쪽 아래를 기준으로 시작점, 바닥으로 하여 fontFace의 폰트체로 fontScale의 크기로 text를 입력  (pt1 == 초록점)

예시 코드

blue = [255,0,0]
green = [0,255,0]
red = [0,0,255]
color = np.zeros((height,width,3),np.uint8)
    
cv2.line(color,(100,200),(300,400),blue,5)
cv2.line(color,(200,200),(200,200),green,5)
cv2.circle(color,(300,400),50,red,4)
cv2.rectangle(color,(400,300),(600,400),red,5)
# False로 설정하여 점만 잇는다	
cv2.polylines(color, [pts1], False, (0, 255, 255), 2)
cv2.fillPoly(color, [pts2], (255, 100, 120))
cv2.putText(color,"HelloWorld",(220,100),cv2.FONT_HERSHEY_COMPLEX,1,(255,0,150),3)

결과

profile
Autonomous driving vision

0개의 댓글