Opencv的绘制图像操作
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc,char** argv)
{
Mat canvas = Mat::zeros(Size(512, 512), CV_8SC3);
namedWindow("canvas", WINDOW_AUTOSIZE);
imshow("canvas", canvas);
line(canvas, Point(10,10),Point(400,400),Scalar(0, 255, 255), 1, LINE_8);
Rect rect(100, 100, 200, 200);
rectangle(canvas, rect, Scalar(255, 0, 0), 1, 8);
circle(canvas, Point(256, 256), 100, Scalar(0, 245, 23), 1, 8);
RotatedRect rrt;
rrt.center = Point2f(256, 256);
rrt.angle = 80;
rrt.size = Size(100, 200);
ellipse(canvas, rrt, Scalar(0, 252, 23), 1, 8);
cv::Mat src(768, 1024, CV_8UC3);
src.setTo(0);
std::vector<cv::Point > contour;
contour.reserve(6);
contour.push_back(cv::Point(389, 253));
contour.push_back(cv::Point(0, 529));
contour.push_back(cv::Point(0, 768));
contour.push_back(cv::Point(1024, 768));
contour.push_back(cv::Point(1024, 643));
contour.push_back(cv::Point(671, 263));
std::vector<std::vector<cv::Point >> contours;
contours.push_back(contour);
cv::polylines(src, contours, true, cv::Scalar(255, 255, 255), 1, cv::LINE_AA);
cv::fillPoly(src, contours, cv::Scalar(255, 255, 255));
cv::imshow("原图", src);
imshow("canvas", canvas);
cv::waitKey(0);
return 0;
}