用CvSeq的函数创建圆和矩形,这两个图像用点序列来表示。
有关序列的读写方法可以自行学习,这里只给出一个示例
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
using namespace std;
using namespace cv;
#define CVX_RED CV_RGB(0xff, 0x00, 0x00)
#define CVX_GREEN CV_RGB(0x00, 0xff, 0x00)
#define CVX_BLUE CV_RGB(0x00, 0x00, 0xff)
void DrawBox(IplImage* img)
{
/*1、初始化相关变量*/
CvBox2D box ;
CvPoint2D32f center;
CvSize2D32f size;
center.x = 50;
center.y = 50;
size.width = 30;
size.height = 30;
box.center = center;
box.size = size;
CvPoint2D32f point[4];
int i;
for ( i=0; i<4; i++)
{
point[i].x = 0;
point[i].y = 0;
}
/*2、计算CvBox2D结构表示矩形的4顶点*/
cvBoxPoints(box, point); //计算二维盒子顶点,把box的点赋值给point
/*3、把float类型的点转化成int类型*/
CvPoint pt[4];
for ( i=0; i<4; i++)