opencv学习日记——绘制基本的几何图形

opencv学习日记——绘制基本的几何图形

#include<iostream>
#include<vector>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
    //定义一个黑的图像
    Mat img = Mat::zeros(Size(512, 512), CV_8UC3);
    //画圆
    //circle(原图, 圆心, 半径, 颜色, 粗细)
    circle(img, Point(50, 50), 25, Scalar(255, 255, 255), -1);//-1表示填满
    circle(img, Point(100, 50), 25, Scalar(255, 255, 255), 4);
    //画线
    //line(原图, 点, 点, 颜色, 粗细, 类型, 精度)
    line(img, Point(100, 100), Point(200, 200), Scalar(255, 255, 255), 4, LINE_4, 0);
    //椭圆
    //ellipse(原图, 圆心, 长短轴, 角度, 起始位置, 结束位置(画的度数), 颜色, 粗细)
    ellipse(img, Point(200, 400), Size(100, 50), 0, 0, 360, Scalar(255, 255, 255), -1);
    ellipse(img, Point(100, 50), Size(90, 60), 0, 0, 360, Scalar(255, 255, 255), 1);

    vector<Point> Points;
    //将椭圆上的点进行存储,但不显示
    ellipse2Poly (Point(200, 400), Size(100, 70), 0, 0, 360, 2, Points);
    //把点连接一起
    for (int i = 0; i < Points.size() - 1; i++)
    {
        if ( i == Points.size() - 1)
        {
            line(img, Points[0], Points[i], Scalar(255, 255, 255), 4);
        }
        line(img, Points[i], Points[i + 1], Scalar(255, 255, 255), 4);
    }


    //画矩形
    //rectangle(原图, 左上角坐标, 右下角坐标, 颜色, 粗细)
    rectangle(img, Point(50, 400), Point(100, 500), Scalar(255, 255, 255), -1);
    rectangle(img, Rect(25, 100, 100, 100), Scalar(255, 255, 255), 2);
    //写字(只能英文和数字)
    //putText(原图, 字, 字左下角位置, 粗细, 类型, 颜色)
    putText(img, "cool", Point(100, 100), 2, 1, Scalar(100, 200, 100));



    imshow("", img);
    waitKey(0);
    return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值