opencv 绘制形状和文字文字

opencv 专栏收录该内容
24 篇文章 0 订阅

在这里插入图片描述在这里插入图片描述在这里插入图片描述



//画线
void DrawLine(Mat m)
{
    Point pt1(20,30);
    Point pt2(80,80);
    Scalar color(0,0,255);
    line(m,pt1,pt2,color,1,LINE_AA);
}
void DrawRectangle(Mat m)
{
    Rect rect(100,100,200,200);
    Scalar color(0,255,0);

    rectangle(m,rect,color,2,LINE_8);//画矩形
}
//画椭圆
void DrawEllipse(Mat m)
{
    Scalar color(0,255,0);
    ellipse(m,Point(m.cols/2,m.rows/2),Size(m.cols/4,m.rows/8),180,0,180,color,1,LINE_AA);
}

void DrawCircle(Mat m)
{
    Scalar color(0,255,0);
    Point pt(m.cols/2,m.rows/2);
    circle(m,pt,150,color,3,LINE_AA);
}
//画多边形
void DrawPolygon(Mat m)
{
    Point pts[1][5];
    pts[0][0]=Point(100,100);
    pts[0][1]=Point(100,200);
    pts[0][2]=Point(250,200);
    pts[0][3]=Point(300,100);
    pts[0][4]=Point(100,100);

    const Point *ppts[]={pts[0]};
    int npt[]={5};
    Scalar color(0,255,0);
    Scalar color1(0,0,255);
    fillPoly(m,ppts,npt,1,color,8);
   
    //画文本
    putText(m,"hello mm",Point(50,50),CV_FONT_NORMAL,2.0,color1,3,16);
}

void DrawRandomLine(Mat m)
{
    RNG rng(123456);//随机数
    Point pt1;
    Point pt2;

    Mat m1=Mat::zeros(m.size(),m.type());
    int i=1000;
    while (i) {
        pt1.x=rng.uniform(0,m.cols);
        pt1.y=rng.uniform(0,m.rows);
        pt2.x=rng.uniform(0,m.cols);
        pt2.y=rng.uniform(0,m.rows);
        Scalar color=Scalar(rng.uniform(0,255),rng.uniform(0,255),rng.uniform(0,255));
        line(m1,pt1,pt2,color,1,LINE_8);
        imshow("m1",m1);
        --i;
    }
}




int main()
{
  	Mat src=imread("./1/3.jpg");
    if(!src.data)
        return -1;
     // DrawLine(src);
    //  DrawRectangle(src);
    //  DrawEllipse(src);
    //  DrawCircle(src);
    // DrawPolygon(src);
    DrawRandomLine(src);
    imshow("src",src);

}

画线 圆 椭圆 多边形 文字

在这里插入图片描述

随机画线,颜色随机

在这里插入图片描述

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值