OpenCV/OpenCV 강좌

OpenCV 강좌 C++ & Python - 원을 그리는 circle 함수 사용법

webnautes 2023. 10. 25. 23:30
반응형

OpenCV 의  원을 그리는  circle 함수를 C++과 Python에서 사용하는 방법을 설명합니다.

 

2015.  1.  2 - 최초 작성

2018.  7.  16

2019.  7.  17

2019.  8.  11 - C++ 코드 추가 

2023. 4. 17



circle 함수는 다음과 같은 파라미터를 가집니다. 

      cv.circle( img,        원이 그려질 이미지 
                  center,     원의 중심 좌표 ( x, y )
                  radius,     원의 반지름
                  color,      원의 선 색 또는 원을 채울 색( B, G, R )
                  thickness,  선굵기(디폴트값 1)
                  lineType,   디폴트값 cv.LINE_8(=8-connected line)
                  shift )     디폴트값 0



반지름 100, 선굵기 1인 빨간색 원 안에 파란색으로 채워진 반지름 10인 원을 그리는  간단한 예제입니다.



Python

import numpy as np
import cv2


# 컬러 이미지를 저장할 넘파이 배열을 생성합니다.
width = 500
height = 500
bpp = 3

img = np.zeros((height, width, bpp), np.uint8)


# (250,250)이 중심인 반지름 10인 파란색으로 채워진 원을 그립니다.
cv2.circle(img, (250, 250), 10, (255, 0, 0), -1)

# (250,250)이 중심인 반지름이 100인 선굵기가 1인 빨간색 원을 그립니다. 
cv2.circle(img, (250, 250), 100, (0, 0, 255), 1)


cv2.imshow("result", img)
cv2.waitKey(0);



C++

#include <opencv2/opencv.hpp>


using namespace cv;


int main()
{
// 컬러 이미지를 저장할 Mat 개체를 생성합니다.
int width = 500;
int height = 500;

Mat img(height, width, CV_8UC3, Scalar(0, 0, 0));


// (250,250)이 중심인 반지름 10인 파란색으로 채워진 원을 그립니다.
circle(img, Point(250, 250), 10, Scalar(255, 0, 0), -1);

// (250,250)이 중심인 반지름이 100인 선굵기가 1인 빨간색 원을 그립니다. 
circle(img, Point(250, 250), 100, Scalar(0, 0, 255), 1);


imshow("result", img);
waitKey(0);
}





반응형