opencv绘制几何图形

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

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

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矩形的顶点 pt2与pt1相对的矩形顶点
  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元 红包规则

    易百纳技术社区