目录

  • 1、line函数
  • 2、circle函数
  • 3、rectangle、Rect函数
  • 4、ellipse函数
  • 5、polylines函数
  • 6、随机初始化颜色
  • 7、putText函数
  • 总结

1、line函数

line(img,(0,0),(511,511),(255,0,0),5)

这个函数有5个参数,img是图像名称,起点坐标,终点坐标,(255,0,0)是蓝色,5是线的宽度
会画一条 从左上方到右下角的蓝色线段。

2、circle函数

cvCircle(CvArr* img, CvPoint center, int radius, CvScalar color, int thickness=1, int lineType=8, int shift=0)
img为源图像指针
center为画圆的圆心坐标
radius为圆的半径
color为设定圆的颜色,规则根据B(蓝)G(绿)R(红)
thickness 如果是正数,表示组成圆的线条的粗细程度。否则,表示圆是否被填充
line_type 线条的类型。默认是8
shift 圆心坐标点和半径值的小数点位数

for (int i = 0;i < points.size();i++)
{circle(image, points[i], 5, Scalar(0, 0, 255), 2, 8, 0);
}

3、rectangle、Rect函数

rectangle函数是用来绘制一个矩形框的,通常用在图片的标记上。

rectangle(img2, Point(j,i), Point(j + img4.cols, i + img4.rows), Scalar(255, 255, 0), 2, 8);

img2:要做处理的图片
二三代表左上右下矩形的角坐标
scalar:颜色
2代表线条宽度
8是线型,默认取8

Rect函数也是画矩形的,但与上面的有所不同

Rect roi_rect = Rect(128, 128, roi.cols, roi.rows);

Rect(x,y,width,height),x, y 为左上角坐标, width, height 则为长和宽。

4、ellipse函数

void ellipse(InputOutputArray img, Point center, Size axes, double angle, double startAngle, double endAngle,
const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0);

ellipse(img,(256,256),(100,50),0,0,180,255,-1)

这个函数有8个参数:图像名称,中心点坐标,长轴长度,短轴长度,旋转角度,图像出现的部分(长轴顺时针方向起始的角度和结束角度)0,180是下半个椭圆,颜色数组这里255是蓝色,线宽
椭圆要素:1.是中心点的位置坐标 2.长轴和短轴的长度 3.椭圆沿逆时针方向旋转的角度 4.长轴顺时针方向起始的角度和结束角度

5、polylines函数

画多边形
polylines(src, [points], True,color, thickness), points为点集,需要知道多边形顶点的集合

6、随机初始化颜色

经常遇到画出各种颜色的图形,这里我们用随机类RNG
用法如下:

RNG g_rng(12345);
Scalar color = Scalar(g_rng.uniform(0, 255),g_rng.uniform(0, 255), g_rng.uniform(0, 255));//任意值

7、putText函数

写字符串:cv2.putText(src, str, (x0,y0), font, size, color, thickness, linetype) 我们需要对图片加以注释,putText()就显得极其重要,各个参数中文意思为:绘画图像,文字,位置坐标,字体,字体大小,字体颜色,字体粗细及线型,建议线型使用cv2.LINE_AA,其中关于font,openCV支持的字体,看一下不同样式效果图(其他参数相同,仅改变字体格式,没有传递linetype,字体边缘锯齿还是比较严重),通常用第一种就够了。

总结

由于最近经常用到这些函数,这里做一下记录,以后用的时候直接回来看博客就行了,节省时间。


参考链接:

https://blog.csdn.net/weixin_43491924/article/details/85600996
https://blog.csdn.net/weixin_43491924/article/details/85218336
https://www.cnblogs.com/yujiachen/p/7672417.html?utm_source=debugrun&utm_medium=referral
https://www.cnblogs.com/mld-code-life/p/11197736.html
https://blog.csdn.net/bigat/article/details/80811789

Opencv基础画图函数——line、circle、rectangle、Rect、ellipse、polylines、putText函数的用法相关推荐

  1. OpenCV-Python教程:绘制直线、圆形、方形(line,circle,rectangle)

    原文链接:http://www.juzicode.com/archives/5323 返回Opencv-Python教程 因为绘图操作需要用到起点.终点坐标等参数,绘图前需要先了解在OpenCV中图像 ...

  2. PaddlePaddle领航团 OpenCV基础知识点总结

    PaddlePaddle领航团 OpenCV基础知识点总结 1.OpenCV基础 加载图片,显示图片,保存图片 OpenCV函数:cv2.imread(), cv2.imshow(), cv2.imw ...

  3. OpenCV这么简单为啥不学——1.4、基础标识绘制(绘制线line函数、rectangle函数绘制四边形、circle函数绘制圆形、putText函数绘制文字、putText绘制中文文字)

    OpenCV这么简单为啥不学--1.4.基础标识绘制(绘制线line函数.rectangle函数绘制四边形.circle函数绘制圆形.putText函数绘制文字.putText绘制中文文字) 目录 O ...

  4. OpenCV——line、circle、rectangle、ellipse、polylines函数的使用和绘制文本putText函数以及绘制中文的方法。

    学习OpenCV的过程中,画图是不可避免的,本篇文章旨在介绍OpenCV中与画图相关的基础函数. 1.画线条--line()函数 介绍: cv2.line(image, start_point, en ...

  5. Opencv的使用小教程1——Opencv基础函数汇总

    Opencv的使用小教程1--Opencv基础函数汇总 1.VideoCapture 2.imread 3.resize 4.clone 5.cvtColor 6.Scalar 7.获取像素点的值 8 ...

  6. OpenCV示例学习(二): 基本图形绘制算子:line(),circle(),fillPoly(), ellipse()

    OpenCV示例学习(二): 基本图形绘制算子:line(),circle(),fillPoly(), ellipse() #include <opencv2/opencv.hpp>usi ...

  7. opencv基础:罗德里格斯旋转公式(Rodrigues' rotation formula)推导 rodrigues()函数原理

    参考:1-https://openhome.cc/Gossip/WebGL/Rodrigues.html(比较好的理解流程) 2-https://www.cnblogs.com/wtyuan/p/12 ...

  8. opencv基础笔记

    opencv学习笔记(更新中-) 写在前面,opencv官方文档. 地址:https://docs.opencv.org/4.x/index.html ps:markdown导入csdn是真麻烦,本地 ...

  9. OpenCV基础入门【C++及python语言】

    OpenCV基础入门[C++语言] OpenCV-Python 中文教程 OpenCV官方教程中文版(For Python) OpenCV2-Python-Tutorials 部分文件参考: http ...

最新文章

  1. 其他主流开源硬件简介BeagleBone Black快速入门
  2. 为什么要使用EJB?
  3. LBP特征的理论介绍
  4. Oracle查找包共用,oracle – 用于查找包的多级依赖关系的脚本
  5. ARM的流水线与PC值的关系
  6. 内容自适应编码中的不同粒度
  7. 计算机知识应用,计算机知识应用基础复习大纲
  8. java gc 次数_浅谈如何减少GC的次数
  9. SpringBoot 使用注解实现消息广播功能
  10. win7系统屏幕键盘打开教程
  11. linux vfs 根节点名称,Linux:文件,目录项,索引节点,超级块,VFS,具体文件系统...
  12. date对象 java_Java_按照指定的日期创建 Date对象
  13. JAVA 异常 throw 与 throws
  14. vue组件库开发遇到的regeneratorRuntime is not defined
  15. 计算机英语性考任务答案,国开电大理工英语1单元自测7形考任务答案
  16. fxml设置背景_JavaFX Scene Builder使用总结
  17. 9.2-Scrapy框架爬虫【进阶】-spiders用法
  18. 利用公式给 Excel 单元格设置条件格式 - 以日期中的月份为例
  19. Aspose.Words使用模板导出数据库中图片内容
  20. 2018年Android面试题含答案--适合中高级(上)

热门文章

  1. Failed to compile. ./src/utils/request.js Module not found: Error: Can‘t resolve ‘util-merge‘ in ‘C
  2. php 鼠标点击图片放大,鼠标移入放大图片预览效果实现
  3. ccf命令行选项只能用c实现_CCF-201403-3-命令行选项
  4. webpack——概念的引入
  5. 原生js、jQuery实现选项卡功能
  6. vue 新版本 webpack 代理 跨域设置
  7. 前端生态混乱,AMPMIP在努力做标准化工作
  8. vue结合ueditor富文本编辑器(换肤分离)
  9. 如何在Hexo中实现自适应响应式相册功能
  10. canvas学习和滤镜实现