Python-OpenCV 笔记7 – 绘图(Draw)


1、画直线 – cv2.line()


函数原型:

cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
  • img:需要绘制的图像
  • pt1:直线的起点(x, y)
  • pt1:直线的终点(x, y)
  • color:线的颜色(x, x, x)
  • thickness:线的粗细,
  • lineType:线型,cv2.FILLED、cv2.LINE_4、cv2.LINE_8

实例:

cv2.line(img,(0,0),(500,500),(255,0,0),2)
cv2.imshow('画直线', img)

2、画矩形 – cv2.rectangle()


函数原型:

cv2.rectangle(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
  • pt1:矩形左上角点(x, y)
  • pt1:直线右下角点(x, y)
  • thickness:宽度大于0,标识边线宽度;小于0,画实心矩形

实例:

cv2.rectangle(img,(100,50),(200,150),(0,255,0),3)
cv2.imshow('画矩形', img)

3、画圆 – cv2.circle()


函数原型:

cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]])
  • center:圆心(x, y)
  • radius:半径 x
  • thickness:宽度大于0,标识边线宽度;小于0,画实心圆

实例:

cv2.circle(img, (200,200), 50, (0,0,255), -1)
cv2.imshow('画圆', img)

4、画椭圆 – cv2.ellipse()


函数原型:

cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]])
  • center:椭圆心(x, y)
  • axes:椭圆长短半轴长 (l, s)
  • angle:椭圆相对于x轴的旋转角度
  • startAngle:椭圆起始角度
  • endAngle:椭圆的终止角度
  • thickness:宽度大于0,标识边线宽度;小于0,画实心椭圆

实例:

cv2.ellipse(img, (256,256), (100,50), 0, 0, 180, 255, -1)
cv2.imshow('画椭圆', img)

5、画多边形 – cv2.polylines()


函数原型:

cv2.polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]])
  • pts:多边形的拐点,numpy 数组
  • isClosed:多边形是否要闭合
  • thickness:宽度大于0,标识边线宽度;小于0,画实心多边形

实例:

pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv2.polylines(img,[pts],True,(0,255,255))
cv2.imshow('画多边形', img)

6、画文字 – cv2.putText()


函数原型:

cv2.putText(img, text, org, fontFace, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]])
  • text:文字的字符串
  • org:文字放置位置的左下点(x, y)
  • fontFace:字体类型
    • cv2.FONT_HERSHEY_SIMPLEX:正常尺寸的sans-serif字体
    • cv2.FONT_HERSHEY_SPLAIN:小尺寸的sans-serif字体
    • cv2.FONT_HERSHEY_COMPLEX:正常尺寸的serif字体
    • cv2.FONT_HERSHEY_SCREIPT_SIMPLEX:手写字体风格
  • fontScale:字体的缩放因子
  • thickness:宽度大于0,标识边线宽度;小于0,画实心矩形

实例:

font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv.LINE_AA)
cv2.imshow('画文字', img)

Python-OpenCV 笔记7 -- 绘图(Draw)相关推荐

  1. python+OpenCV笔记(二十四):Shi-Tomasi角点检测

    Shi-Tomasi角点检测 原理 python+OpenCV笔记(二十二):角点检测原理(Harris角点检测原理.Shi-Tomasi角点检测原理)https://blog.csdn.net/qq ...

  2. python+OpenCv笔记(十三):边缘检测——Sobel检测算子

    Sobel检测算子 概述: Sobel边缘检测算法比较简单,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,但是很多实际应用的场合,sobel边缘却是首选,Sobel算子 ...

  3. python+OpenCV笔记(三十七):检测运动物体——使用MOG/KNN背景差分器

    目录 一.基本背景差分器 二.MOG背景差分器 流程 代码编写 三.KNN背景差分器 目前,许多运动检测技术都是基于简单的背景差分概念的,即假设摄像头(视频)的曝光和场景中的光照条件是稳定的,当摄像头 ...

  4. python+OpenCV笔记(三十五):特征匹配——基于FLANN的匹配、基于FLANN进行单应性匹配

    目录 一.基于FLANN的匹配 FLANN匹配流程: 代码编写 二.基于FLANN进行单应性匹配 什么是单应性? FLANN进行单应性匹配流程 代码编写 FLANN库全称是Fast Library f ...

  5. python+OpenCv笔记(六):图像的几何变换(缩放、平移、旋转、仿射、透射、金字塔)

    一.图像的缩放 OpenCv API: cv2.resize(src, dsize, fx, fy, interpolation) 参数: src:输入的图像 dsize:绝对尺寸,直接将图像调整为指 ...

  6. python+OpenCv笔记(七):图像的形态学操作(腐蚀与膨胀、开闭运算、礼帽与黑帽)

    一.腐蚀与膨胀 腐蚀就是原图中高亮的部分被蚕食,效果图拥有比原图更小的高亮区域. 腐蚀的作用是:消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点. 膨胀就是使原图中高亮的部分扩张,效果图拥有比 ...

  7. python+OpenCv笔记(十七):模板匹配

    模板匹配 OpenCV框架提供了用于对象检测.跟踪和计数的许多不同方法.其中,模板匹配是OpenCV中最基本的对象检测方法之一. OpenCV API: res = cv.matchTemplate( ...

  8. python+OpenCv笔记(二):绘制几何图形

    一.绘制直线 cv.line(img,pt1,pt2,color,thickness,lineType) 参数: img:要绘制的图像 pt1 pt2:绘制的起点与终点 color:颜色 thickn ...

  9. python+OpenCV笔记(二十):滤波函数——filter2D

    filter2D用于将自定义的滤波器应用于图像,需要为这个函数提供的一个重要参数就是核矩阵. 该函数非常强大,可以生成很多种不同的结果,包括与之前的模糊函数相同的结果,不同的核还可以形成很多不同的滤波 ...

  10. python opencv入门 鼠标绘图(4)

    内容来自OpenCV-Python Tutorials 自己翻译整理 目标: 学习如何操作鼠标事件 学习cv2.setMouseCallback()函数 简单样例: 首先创建一个鼠标的回调函数,当鼠标 ...

最新文章

  1. matlab 如何代码自已标注_MATLAB概述
  2. 一步步教你理解LSTM
  3. 对称密码算法Rijndael解析—加密
  4. java 画图覆盖_请教如何在java画图中不覆盖原来的画图???
  5. 51nod 1534 棋子游戏
  6. USACO 06JAN 牛的舞会 洛谷2863
  7. SQL SERVER查看当前连接情况
  8. sqlserver约束
  9. ubuntu使用pytorch训练出现killed_目标检测之pytorch预训练模型的使用(削减削减网络层,修改参数)fine-tune技巧...
  10. luogu题解 UVA11992 【Fast Matrix Operations】
  11. 专利申请模板(技术交底书)
  12. python 方向盘_Carla 0.9.5 简单高效安装方法 Ubuntu18.04 罗技G29方向盘连接
  13. react+ts+gulpjs将插件转成umd.js文件
  14. 普华永道:AI到2030年将带动全球GDP增长14%,中国成最大受益国
  15. 【双卡尔曼滤波】基于simulink仿真的双卡尔曼滤波
  16. 山科大 6-1 sdust-Java-可实现多种排序的Book类 (20 分)(18 软件 期中考试函数1)
  17. 基于C语言实现的足球信息查询系统 课程报告+项目源码+演示PPT+项目截图
  18. web全栈之ECMAScript6.0
  19. Word基础(三十五)题注的插入与删除
  20. 数组转对象 和 对象转数组的简单处理

热门文章

  1. 《MacTalk·人生元编程》
  2. Hadoop+Hbase分布式集群架构“完全篇”
  3. triplet loss 在深度学习中主要应用在什么地方?有什么明显的优势?
  4. 资深数据大牛《教你如何从零开始做大数据底层架构》!(转)
  5. SCGHR_存储过程(eSP_IDChangeStart)_政治面貌为什么不能正确更新
  6. [转].NET学习网站收集
  7. Binary classification - 聊聊评价指标的那些事儿【实战篇】
  8. Spring Boot中使用AOP统一处理Web请求日志
  9. 【转】AngularJs 弹出框 model(模态框)
  10. .NET I/O 学习笔记:文件的读和写