프로그래밍 기초/영상처리

선, 사각형, 원, 타원 그리기

아몰라 2011. 10. 30. 22:59


void main()
{
 IplImage    *dstImage;
  dstImage = cvCreateImage(cvSize(512, 512), IPL_DEPTH_8U, 3); //3채널 컬러 영상 생성
 
 cvSet(dstImage, cvScalarAll(255));
// cvSet(dstImage, CV_RGB(255, 255, 255)); 모든 화소값을 흰색으로 변경 위에 cvScalarAll도 마찬가지!

  cvRectangle(dstImage, cvPoint(100, 100), cvPoint(400, 400), CV_RGB(255, 0, 0));
  cvLine(dstImage, cvPoint(400, 100), cvPoint(100, 400), CV_RGB(0, 255, 0));

  cvLine(dstImage,cvPoint(400, 100), cvPoint(100, 400), CV_RGB(0, 255, 0), 2, 8, 1);
 // cvLine(dstImage,cvPoint(400/2, 100/2),cvPoint(100/2, 400/2), CV_RGB(0, 255, 0), 2); 선그리기

    cvRectangle(dstImage, cvPoint(400/2, 100/2), cvPoint(100/2, 400/2), //사각형
                    CV_RGB(0, 0, 255));

 cvCircle(dstImage, cvPoint(250, 250), 150, CV_RGB(0, 0, 250)); //원

 cvEllipse(dstImage, cvPoint(400, 400), cvSize(100, 50), 45, 0, 360,  //타원
  CV_RGB(255, 0, 0));

 cvNamedWindow("Drawing Graphics", CV_WINDOW_AUTOSIZE);
    cvShowImage("Drawing Graphics", dstImage);
    cvWaitKey(0);
 
 cvDestroyAllWindows();
 cvReleaseImage(&dstImage);    
}