C++opencv绘制几何图形

直线 

#include <opencv2/opencv.hpp> 

int main()
{
    
    cv::Mat img = cv::imread("./tu/马.jpg", cv::IMREAD_UNCHANGED); 

    cv::Point p0 = cv::Point(100, 100);
    cv::Point p1 = cv::Point(300, 200);
    cv::line(img, p0, p1, cv::Scalar(0, 0, 255), 1, 4);//画直线
    /*
    参数1:图像
    参数2:起点坐标
    参数3:终点坐标
    参数4:颜色
    参数5:可选参数。用于设置线段的宽度
    参数6:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
    */

        
    cv::imshow("img", img);

    cv::waitKey();
            
}

矩形

#include <opencv2/opencv.hpp> 

int main()
{
    
    cv::Mat img = cv::imread("./tu/马.jpg", cv::IMREAD_UNCHANGED); 

    cv::Point p1= cv::Point(100, 100);
    cv::Point p2 = cv::Point(300, 200);
    cv::rectangle(img,p1,p2, cv::Scalar(255, 0, 0),3,8);  //画矩形--方法一
    /*
    参数1:图像
    参数2:矩形的一个顶点
    参数3:矩形对角线上的另一个顶点
    参数4:颜色
    参数5:矩形的线条的粗细。取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形
    参数6:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
    */


    cv::Rect area(50, 50, 200, 100); //需要裁减的矩形区域

    cv::rectangle(img, area, cv::Scalar(0, 0, 255), 3, 8);  //画矩形--方法二
    /*
    参数1:图像
    参数2:矩形对象
    参数3:颜色
    参数4:矩形的线条的粗细。取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形
    参数5:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
    */
            
    cv::imshow("img", img);

    cv::waitKey();
            
}

#include <opencv2/opencv.hpp> 

int main()
{
    
    cv::Mat img = cv::imread("./tu/马.jpg", cv::IMREAD_UNCHANGED); 

    cv::Point p0 = cv::Point(100, 100);
    cv::circle(img, p0, 100, cv::Scalar(0, 0, 255), 2); //画圆
    /*
    参数1:图像
    参数2:圆心
    参数3:半径
    参数4:颜色
    参数5:线条粗细
    */
            
    cv::imshow("img", img);

    cv::waitKey();
            
}

原文地址:https://www.cnblogs.com/liming19680104/p/13617875.html