Python-OpenCV 笔记7 -- 绘图(Draw)
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)相关推荐
- python+OpenCV笔记(二十四):Shi-Tomasi角点检测
Shi-Tomasi角点检测 原理 python+OpenCV笔记(二十二):角点检测原理(Harris角点检测原理.Shi-Tomasi角点检测原理)https://blog.csdn.net/qq ...
- python+OpenCv笔记(十三):边缘检测——Sobel检测算子
Sobel检测算子 概述: Sobel边缘检测算法比较简单,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,但是很多实际应用的场合,sobel边缘却是首选,Sobel算子 ...
- python+OpenCV笔记(三十七):检测运动物体——使用MOG/KNN背景差分器
目录 一.基本背景差分器 二.MOG背景差分器 流程 代码编写 三.KNN背景差分器 目前,许多运动检测技术都是基于简单的背景差分概念的,即假设摄像头(视频)的曝光和场景中的光照条件是稳定的,当摄像头 ...
- python+OpenCV笔记(三十五):特征匹配——基于FLANN的匹配、基于FLANN进行单应性匹配
目录 一.基于FLANN的匹配 FLANN匹配流程: 代码编写 二.基于FLANN进行单应性匹配 什么是单应性? FLANN进行单应性匹配流程 代码编写 FLANN库全称是Fast Library f ...
- python+OpenCv笔记(六):图像的几何变换(缩放、平移、旋转、仿射、透射、金字塔)
一.图像的缩放 OpenCv API: cv2.resize(src, dsize, fx, fy, interpolation) 参数: src:输入的图像 dsize:绝对尺寸,直接将图像调整为指 ...
- python+OpenCv笔记(七):图像的形态学操作(腐蚀与膨胀、开闭运算、礼帽与黑帽)
一.腐蚀与膨胀 腐蚀就是原图中高亮的部分被蚕食,效果图拥有比原图更小的高亮区域. 腐蚀的作用是:消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点. 膨胀就是使原图中高亮的部分扩张,效果图拥有比 ...
- python+OpenCv笔记(十七):模板匹配
模板匹配 OpenCV框架提供了用于对象检测.跟踪和计数的许多不同方法.其中,模板匹配是OpenCV中最基本的对象检测方法之一. OpenCV API: res = cv.matchTemplate( ...
- python+OpenCv笔记(二):绘制几何图形
一.绘制直线 cv.line(img,pt1,pt2,color,thickness,lineType) 参数: img:要绘制的图像 pt1 pt2:绘制的起点与终点 color:颜色 thickn ...
- python+OpenCV笔记(二十):滤波函数——filter2D
filter2D用于将自定义的滤波器应用于图像,需要为这个函数提供的一个重要参数就是核矩阵. 该函数非常强大,可以生成很多种不同的结果,包括与之前的模糊函数相同的结果,不同的核还可以形成很多不同的滤波 ...
- python opencv入门 鼠标绘图(4)
内容来自OpenCV-Python Tutorials 自己翻译整理 目标: 学习如何操作鼠标事件 学习cv2.setMouseCallback()函数 简单样例: 首先创建一个鼠标的回调函数,当鼠标 ...
最新文章
- matlab 如何代码自已标注_MATLAB概述
- 一步步教你理解LSTM
- 对称密码算法Rijndael解析—加密
- java 画图覆盖_请教如何在java画图中不覆盖原来的画图???
- 51nod 1534 棋子游戏
- USACO 06JAN 牛的舞会 洛谷2863
- SQL SERVER查看当前连接情况
- sqlserver约束
- ubuntu使用pytorch训练出现killed_目标检测之pytorch预训练模型的使用(削减削减网络层,修改参数)fine-tune技巧...
- luogu题解 UVA11992 【Fast Matrix Operations】
- 专利申请模板(技术交底书)
- python 方向盘_Carla 0.9.5 简单高效安装方法 Ubuntu18.04 罗技G29方向盘连接
- react+ts+gulpjs将插件转成umd.js文件
- 普华永道:AI到2030年将带动全球GDP增长14%,中国成最大受益国
- 【双卡尔曼滤波】基于simulink仿真的双卡尔曼滤波
- 山科大 6-1 sdust-Java-可实现多种排序的Book类 (20 分)(18 软件 期中考试函数1)
- 基于C语言实现的足球信息查询系统 课程报告+项目源码+演示PPT+项目截图
- web全栈之ECMAScript6.0
- Word基础(三十五)题注的插入与删除
- 数组转对象 和 对象转数组的简单处理
热门文章
- 《MacTalk·人生元编程》
- Hadoop+Hbase分布式集群架构“完全篇”
- triplet loss 在深度学习中主要应用在什么地方?有什么明显的优势?
- 资深数据大牛《教你如何从零开始做大数据底层架构》!(转)
- SCGHR_存储过程(eSP_IDChangeStart)_政治面貌为什么不能正确更新
- [转].NET学习网站收集
- Binary classification - 聊聊评价指标的那些事儿【实战篇】
- Spring Boot中使用AOP统一处理Web请求日志
- 【转】AngularJs 弹出框 model(模态框)
- .NET I/O 学习笔记:文件的读和写