#include<iostream>
#include<cv.hpp>
using namespace std;
using namespace cv;
#define WINDOW_NAME1 "【绘制图1】" //为窗口标题定义的宏
#define WINDOW_WIDTH 600 //定义窗口大小的宏
int main(void)
{
// 创建空白的Mat图像
Vec3b a = {255,255,255}; //定义一个三个元素的一维向量
Mat atomImage = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3) + a; //使每个像素点的值加上相应元素,如果加上一个标量,则只在第一通道上加
// cout << atomImage; //输出测试的图像元素
//下面的绘图中,可以预先宏定义颜色、线宽和线型
Point start(20,80); //定义两个点
Point end(300,300);
line(atomImage,start,end,Scalar(0, 255, 0),3,6); //画直线(图像,起始点,结束点,颜色,线宽,线型)
rectangle(atomImage,Point(50, 70),Point(100, 300),Scalar(0, 255, 255),3,8); //画矩形(图像,左上角点,右下角点,颜色,线宽,线型)
circle(atomImage, Point(60,80),80, Scalar(0, 255, 255), 2, 7); //画圆(图像,圆点,颜色,线宽,线型)
ellipse(atomImage, Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2), Size(WINDOW_WIDTH / 8, WINDOW_WIDTH / 16), 30, 0, 300, Scalar(255, 255, 255), -1, 8);
//画椭圆(图像,中心点,包含椭圆的矩形,旋转角,填充/绘画角度范围,颜色,线宽(-1表示填充),线型)
putText(atomImage, "hahaha", Point(500, 70), FONT_HERSHEY_SIMPLEX, 0.8,Scalar(0, 0, 0), 1, 8, false);
//写文字(图像,字符串,文字左下角起始点,字体类型,填充/绘画角度范围,颜色,线宽(-1表示填充),线型,最后一个有默认值)
// ---------------------------<3>显示绘制出的图像------------------------
imshow(WINDOW_NAME1, atomImage);
moveWindow(WINDOW_NAME1, 0, 200); //移动窗口(窗口名称,移动后的左上点坐标x,y)
imshow("WINDOW_NAME2", atomImage);
moveWindow("WINDOW_NAME2", WINDOW_WIDTH, 100);
waitKey(0);
return(0);
}
具体函数参数可以参考:http://blog.csdn.net/ubunfans/article/details/24421981