OpenCV各种绘制调用:线,矩形,圆,椭圆,文字
OpenCV提供了各种绘制接口,可以往图片里画各种东西,这种功能可以为以后在图像上标记一些信息方便调试
![](https://images2018.cnblogs.com/blog/1407649/201806/1407649-20180602094453743-112369246.png)
// drawcall.cpp: 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "opencv2/opencv.hpp" int main() { cv::Mat img(cv::Size(400, 300),CV_8UC3); // 画线 起点,终点,颜色,线宽 cv::line(img, cv::Point(20, 100), cv::Point(20, 200), cv::Scalar(0, 0, 255), 3); // 画一组线 连续线段 0-1 1-2 2-3 std::vector<cv::Point> vList; vList.push_back(cv::Point(10, 10));// 点0 vList.push_back(cv::Point(60, 60));// 点1 vList.push_back(cv::Point(60, 10));// 点2 vList.push_back(cv::Point(100, 30));// 点3 cv::polylines(img, vList, false, cv::Scalar(255, 0, 0), 2); // 画矩形 矩形区域,颜色,线宽 cv::rectangle(img, cv::Rect(20, 20, 50, 60), cv::Scalar(0, 255, 0), 2); // 画圆 圆心坐标 半径 颜色 线宽 cv::circle(img, cv::Point(100, 100), 30, cv::Scalar(255,0,0),2); // 画椭圆 中线点 长轴,短轴长度 椭圆旋转角度 椭圆弧显示范围(0-360) 颜色 线宽 cv::ellipse(img, cv::Point(150, 150), cv::Size(100, 50), 45,0, 360, cv::Scalar(0, 255, 255), 2); // 画文字 cv::putText(img, "hello", cv::Point(180, 150), cv::FONT_HERSHEY_SIMPLEX,3, cv::Scalar(255, 255, 0), 2); cv::imshow("draw", img); cv::waitKey();
cv::destroyAllWindows(); return 0; }