OpenCV提供了各种绘制接口,可以往图片里画各种东西,这种功能可以为以后在图像上标记一些信息方便调试
// 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;
}
OpenCV各种绘制调用:线,矩形,圆,椭圆,文字
点赞
收藏