OpenCV各种绘制调用:线,矩形,圆,椭圆,文字

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();
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/zzatp/p/9124552.html