opencv绘制几何图形

opencv绘制几何图形 热爱秃头的每一天 2023-07-10 16:37:54 545

在学习过程中,我们可以在图像中绘制一些几何图形,比如矩形,椭圆,线段,填充多边形等,这些函数都挺容易理解,下面简单看一下。

1.矩形,rectangle() 通过对角线上的两个顶点绘制矩形

  1. void rectangle(InputOutputArray img, Rect rec,
  2. const Scalar& color, int thickness = 1,
  3. int lineType = LINE_8, int shift = 0);
  4. img 名称
  5. rec pt1矩形的顶点 pt2pt1相对的矩形顶点
  6. color 颜色 也可以用像素存放类Scalar
  7. thickness 宽度 如果是-1,就代表对改矩形进行填充
  8. lineType 类型
  9. shift 移位点坐标中的小数位数。

代码:

  1. int main()
  2. {
  3. Mat img = Mat::ones(240, 240, CV_8UC3);
  4. rectangle(img, Rect(20, 20, 100, 100), Scalar(0, 0, 255),7);
  5. imshow("www", img);
  6. waitKey(0);
  7. }

效果图:

2. 圆 circle()

  1. void circle(InputOutputArray img, Point center, int radius,
  2. const Scalar& color, int thickness = 1,
  3. int lineType = LINE_8, int shift = 0);
  4. img 名称
  5. center 圆心坐标
  6. radius 圆的半径
  7. color 圆环颜色
  8. thickness 正数,则表示圆轮廓的厚度 负数 对该圆填充颜色
  9. lineType 类型
  10. shift 移位中心坐标和半径值的小数位数。

代码:

  1. int main()
  2. {
  3. Mat img1=Mat::zeros(100, 100, CV_8UC3);
  4. circle(img1, Point(40, 40), 20, Scalar(0, 0, 255),-1);//-1 填充
  5. imshow("www", img1);
  6. waitKey(0);
  7. }

效果图:

3.椭圆 elliple()

  1. void ellipse(InputOutputArray img, Point center, Size axes,
  2. double angle, double startAngle, double endAngle,
  3. const Scalar& color, int thickness = 1,
  4. int lineType = LINE_8, int shift = 0);
  5. img 名称
  6. center 椭圆的中心。
  7. axes 椭圆主轴大小的一半。
  8. angle 椭圆旋转角度。
  9. startAngle 椭圆弧的起始角,以度表示。
  10. endAngle 椭圆弧的结束角,以度数表示。
  11. color 椭圆颜色。
  12. thickness 正数 椭圆圆弧轮廓的厚度 负数 对椭圆进行填充。
  13. linetype 椭圆边界类型。
  14. shift 中心坐标和坐标轴值的小数位数。

代码:

  1. int main()
  2. {
  3. Mat img1 = Mat::zeros(300, 300, CV_8UC3);
  4. ellipse(img1, Point(100, 100), Size(40, 25), 0, 0, 360, Scalar(0, 0, 255),5);
  5. imshow("111", img1);
  6. waitKey(0);
  7. }

效果图:

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
热爱秃头的每一天
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区