본문 바로가기
openCV

[openCV] Drawing함수

by _eunji_ 2020. 1. 11.

Rectangle 사각형을 그리는 함수

Void rectangle(Mat &img,point pt1,point pt2,const scalar& color, int thickness=1,int lineType=8,int shift=0)

-> 사각형의 양 꼭짓점의 좌표를 넣어준다

Shift : 보다 사각형을 정교하게 그리고 싶을 때 사용, 중요하지 않음

 

Void rectangle(Mat &img,Rect rec ,const scalar& color, int thickness=1,int lineType=8,int shift=0)

Rect라는 데이터 구조 활용하여 사각형 정의 Rect(x_Lt,y_LT,width,height)

 

Line/Circle

Void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)

Void Circle(Mat& img, Point center, int radius, const Scalar& color, int thickness=1, int lineType=8, int shift=0)

radius는 반지름

 

다각형 Polygon

Void fillPoly(Mat& img, const Point** pts, const int* npts, int ncontours, const Scalar& color, int thickness=1, int lineType=8, int shift=0, Point offset=Point())

 

Write text 글자쓰기

Void putText(Mat& img, const String& text, Point org, int fontFace, double fontScale, Scalar color, int thickness=1, int lineType=8, bool bottomLeftOrigin = false)

String cv :: format(const char *fmt..)

 

python


import cv2
import numpy as np

#0으로 초기화된 배열 + 255 => 흰색 배경 생성
img = np.zeros(shape=(512,512,3), dtype=np.uint8) + 255

#사각형
pt1= 200,200
pt2= 350,350
cv2.rectangle(img,pt1,pt2,(255,0,0),2)

#직선
cv2.line(img,(40,40),(400,400),(0,255,0),2)

#원
cx=img.shape[0]//2
cy=img.shape[1]//2
cv2.circle(img,(cx,cy),radius=50,color=(0,0,255),thickness=-1)
# thickness=-1이면 색이 채워진 원

#다각형
pts = np.array([[200,230],[300,100],[100,200]])
cv2.fillPoly(img,[pts],color=(100,100,100))

#글자 쓰기
text = 'openCV'
org=(300,450)
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,text,org,font,1,(0,0,0),2)

cv2.imshow('img',img)

cv2.waitKey()
cv2.destroyAllWindows()

 

'openCV' 카테고리의 다른 글

[openCV] 밝기 값 변환  (1) 2020.01.18
[openCV] 메모리 관리 및 픽셀 엑세스  (0) 2020.01.11
[openCV] Mat연산자  (0) 2020.01.11
[openCV] openCV기초  (0) 2020.01.07
[openCV] 색공간의 이해  (0) 2020.01.06

댓글