관리 메뉴

코코야이야기

[c++] OpenCV 도형그리기3 본문

프로그래밍/OpenCV

[c++] OpenCV 도형그리기3

코코야 2015. 9. 19. 20:11
반응형

소스코드

//타원그리기

#include "cv.h"
#include "highgui.h"

int main()
{
 IplImage *dstImage;
 dstImage = cvCreateImage(cvSize(512,512), IPL_DEPTH_8U,3);

 cvSet(dstImage, CV_RGB(255,255,255));

 cvLine(dstImage, cvPoint(50,200), cvPoint(450,200), CV_RGB(0,255,0));
 cvLine(dstImage, cvPoint(250,100), cvPoint(250,300), CV_RGB(0,255,0),2);


 cvEllipse(dstImage, cvPoint(250,200), cvSize(200,100), 0,0,360,CV_RGB(0,0,255));
 //cvEllipse(영상, 좌표, 축의 크기,회전각도, 시작호각도,끝호각도,색,두께,타입,시프트);
 cvEllipse(dstImage, cvPoint(250,200), cvSize(200,100), 45,0,360,CV_RGB(250,200,200),2);

 CvBox2D box;
 box.center = cvPoint2D32f(250,200);
 box.size = cvSize2D32f(100,200);
 box.angle = 45;

 cvEllipseBox(dstImage,box /*box에 내접한 타원*/,CV_RGB(255,0,255));

 CvPoint2D32f pt[4];
 cvBoxPoints(box,pt);

 CvPoint pt2[4];
 int i;
 for(i=0;i<4;i++)
 {
  pt2[i].x = cvRound(pt[i].x);
  pt2[i].y = cvRound(pt[i].y);
 }

 for(i=0;i<3;i++)
 {
  cvLine(dstImage,pt2[i], pt2[i+1],CV_RGB(250,205,230),3);
 }
 cvLine(dstImage,pt2[3],pt2[0],CV_RGB(250,205,230),3);


 cvNamedWindow("Drawing Graphics", CV_WINDOW_AUTOSIZE);
 cvShowImage("Drawing Graphics",dstImage);

 cvWaitKey(0);//0이면 키를 누를때 까지 무한대기
 cvDestroyAllWindows();
 cvReleaseImage(&dstImage);
 return 0;
}

 

 

 

출력영상

반응형

'프로그래밍 > OpenCV' 카테고리의 다른 글

[c++] OpenCV 문자열출력1  (0) 2015.09.21
[c++] OpenCV 도형그리기4  (0) 2015.09.19
[c++] OpenCV 도형그리기2  (0) 2015.07.04
[c++] OpenCV 도형그리기1  (0) 2015.07.04
[c++] OpenCV 두이미지합성2  (1) 2015.07.03
Comments