// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
int main()
{
Mat img(300, 300, CV_8UC3, Scalar(0, 0, 0));
// 划线
line(img, Point(10, 10), Point(200, 200), Scalar(0, 255, 255), 2, 8);
/*
// 画圆
circle(img, Point(150, 150), 100, Scalar(255, 255, 0), 2, 8); // 线宽如果设置为负数,那么就会变成填充的圆
circle(img, Point(150, 150), 100, Scalar(255, 255, 0), -1, 8); // 线宽如果设置为负数,那么就会变成填充的圆
*/
// 画矩形 线宽如果设置为负数,那么就会变成填充的矩形
//rectangle(img, Rect(10, 10, 200, 200), Scalar(0, 0, 255), 2, 8);
// 画椭圆 0 : 表示这个椭圆旋转多少度 0 -> 360 表示绘制一个完整的椭圆
ellipse(img, Point(150, 150), Size(100, 50), 0, 0, 360, Scalar(0, 0, 255), 2, 8); // 线宽如果设置为负数,那么就会变成填充的椭圆
// 隐式转换成Point
Point ppt[] = { {120, 50}, {180, 50}, {210, 100}, {180, 150}, {120, 150}, {90, 100} };
const Point* pts[] = { ppt };
const int n = 6;
// 画一个填充的多边形,注意这里的const不能少,并且不能直接取 &ppt 要向上面这样操作
// fillPoly(img, pts, &n, 1, Scalar(0, 0, 255), 8);
// 画一个不填充的多边形
// polylines(img, pts, &n,1, true, Scalar(100, 100, 100), 2, 8);
// 添加字幕
string str = "China";
putText(img, str, { 100,100 }, CV_FONT_HERSHEY_COMPLEX, 2, Scalar(0, 0, 255), 2, 8); // 我这里用黑体字体会出错?? 为什么呢?
imshow("img", img);
waitKey(0);
return 0;
}