OpenCV-Python学习(14)—— OpenCV 绘制箭头线(cv.arrowedLine)
1. 学习目标
- 学会使用 cv.arrowedLine 带箭头的直线;
- 绘制箭头的直线的注意事项。
2. 绘制箭头直线 cv.arrowedLine 函数说明
2.1 cv.arrowedLine() 函数使用
cv.arrowedLine(img, pt1, pt2, color[, thickness=1, line_type=8, shift=0, tipLength=0.1]) → img
2.2 参数说明
参数 | 说明 |
---|---|
img | 表示输入图像,允许单通道灰度图像或多通道彩色图像。 |
pt1 | 表示线段第一个点的坐标,(x1, y1)。 |
pt2 | 表示线段第二个点的坐标,(x2, y2)。 |
color | 表示绘制直线的颜色,(b,g,r) 格式的元组,或者表示灰度值的标量。 |
thickness | 表示绘制直线的粗细,默认值 1px。 |
lineType | 表示绘制直线的线性,默认为 LINE_8。 |
shift | 表示点坐标的小数位数,默认为 0。 |
tipLength | 表示箭头部分长度与线段长度的比例,默认为 0.1 |
2.3 lineType 值说明
值 | 描述 |
---|---|
cv.FILLED | 表示内部填充(实心图形)。 |
cv.LINE_4 | 表示 4 邻接线型。 |
cv.LINE_8 | 表示 8 邻接线型。 |
cv.LINE_AA | 表示抗锯齿线型,图像更平滑。 |
3. 实例
3.1 坐标轴实例代码
import cv2 as cv
import numpy as npdef create_csys():# 创建一个500*500的白色背景图片img = np.ones((500,500,3), dtype=np.uint8)*255h,w,c = img.shape# 设置坐标轴颜色color = (0,0,0)# 坐标轴x的起始坐标piontx1 = (10,int(h/2))pointx2 = (w - 10, int(h/2))# x轴绘制cv.arrowedLine(img, piontx1, pointx2, color)# 坐标轴y的起始坐标pionty1 = (int(w/2),h - 10)pointy2 = (int(w/2), 10)# y轴绘制cv.arrowedLine(img, pionty1, pointy2, color)cv.imshow("csys img", img)cv.waitKey(0)cv.destroyAllWindows()if __name__ == "__main__":create_csys()
3.2 实例运行结果
3.3 修改箭头大小实例代码
import cv2 as cv
import numpy as npdef create_csys():# 创建一个500*500的白色背景图片img = np.ones((500,500,3), dtype=np.uint8)*255h,w,c = img.shape# 设置坐标轴颜色color = (0,0,0)# 坐标轴箭头大小比例tipLength = 0.02# 坐标轴x的起始坐标piontx1 = (10,int(h/2))pointx2 = (w - 10, int(h/2))# x轴绘制cv.arrowedLine(img, piontx1, pointx2, color, tipLength=tipLength)# 坐标轴y的起始坐标pionty1 = (int(w/2),h - 10)pointy2 = (int(w/2), 10)# y轴绘制cv.arrowedLine(img, pionty1, pointy2, color, tipLength=tipLength)cv.imshow("csys img", img)cv.waitKey(0)cv.destroyAllWindows()if __name__ == "__main__":create_csys()
3.4 运行结果
3.5 其他实例
import cv2 as cv
import numpy as npdef create_demo():# 创建一个500*500的白色背景图片img = np.ones((300,300,3), dtype=np.uint8)*255h,w,c = img.shape# 创建越界箭头直线cv.arrowedLine(img, (10,50), (w+10,50), (255,0,0), tipLength=0.05)# 非越界箭头cv.arrowedLine(img, (10,100), (w,100), (0,255,0), tipLength=0.08)# 双向箭头point1 = (10,150)point2 = (w - 10,150)cv.arrowedLine(img, point1, point2, (0,0,255))cv.arrowedLine(img, point2, point1, (0,0,255))cv.imshow("csys img", img)cv.waitKey(0)cv.destroyAllWindows()if __name__ == "__main__":create_demo()
3.6 实例运行结果
4. 注意
- 点坐标的格式是 (x,y) 而不是 (y,x);
- 坐标点必须是int类型;
- 双向箭头的绘制就是两条交换起点和终点的箭头直线;
- color的值是(b,g,r);
- tipLength表示箭头部分长度与线段长度的比例。
OpenCV-Python学习(14)—— OpenCV 绘制箭头线(cv.arrowedLine)相关推荐
- python画箭头opencv_OpenCV绘制箭头线
OpenCV绘制箭头线 可以使用imgproc类的arrowedLine()方法在图像上绘制箭头线. 以下是这种方法的语法 - arrowedLine(Mat img, Point pt1, Poin ...
- Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)
一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...
- Python学习-Matplotlib库绘制简单点阵图、线型图操作
Python学习-Matplotlib库绘制简单散点图图和线型图.标签设置以及刻度线设置操作 目录 1.Matplotlib绘图细节的简单理解 2.绘制点图.线型图 3.给图表设置复杂标注 4.移动刻 ...
- python读取excel画散点图-python学习之matplotlib绘制散点图实例
要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...
- python画散点图类型-python学习之matplotlib绘制散点图实例
要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...
- python画散点图-python学习之matplotlib绘制散点图实例
要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" ...
- Python学习(14)--内置函数
Python学习(14)--内置函数 1.Python内置函数 在Python中有很多的内置函数供我们调用,熟练的使用这些内置函数可以让编写代码时事半功倍,所谓内置函数就是那些Python已经预定义并 ...
- Python学习笔记 | opencv图像处理(一)
1. 计算机数据--图片 1.1 图片信息解读 利用计算机处理图像信息,我们必须要先了解计算机如何阅读图片信息. 我们都知道,在计算机的世界中只存在0和1两个元素,因此,为了能让计算机读懂图片,我们需 ...
- opencv (一) 学习通过OpenCV图形界面及基础
opencv 学习通过OpenCV图形界面基础 用的函数有 cv.line(), cv.circle(),cv.rectangle(), cv.ellipse(),cv.putText() 常用参数 ...
最新文章
- shell与 .sh文件与 .bash文件
- linux分析文件格式,linux elf文件格式分析
- 【转】js之iframe子页面与父页面通信
- MicroPython 1.8.6重新支持512K的模块
- oracle日志表设计,数据库设计 – 数据库日志表结构
- 只懂黑盒测试也能学会代码覆盖率分析和精准测试
- AcWing 866. 试除法判定质数(素数判定)
- 吃了核辐射食物怎么办_尿酸过高怎么办?这几种食物,平时可多吃
- 使用shadow dom封装web组件
- 量化指标公式源码_量化指标公式源码,通达信量化买盘潮指标
- 三原色是红黄蓝对吗_三原色是哪几种颜色?是红黄蓝,还是红绿蓝
- iOSRGB常用的色值
- ubuntu16.04,zed7020,sdsoc,xfOpenCV,arm-linux,OpenCV3.4.1
- 学习笔记之Vue基础学习(一)
- 华硕电脑重装系统后fn组合键部分屏幕无显示
- 泰坦尼克号任务-模型建立和评估
- SCSI总线和协议以及SAN存储网络详解
- LSB低位隐写(菜鸡理解)
- Qt: 表格(QTableWidget)隐藏自动生成的序号列(行头)
- MYSQL 安装/ Navicat可视化数据库使用
热门文章
- 亚马逊AI编程助手CodeWishperer的使用
- python中调用什么模块的什么函数来实现求实数平方根_python语言基础与应用答案...
- 一文带你了解python是什么?能做什么?为什么要学?
- python爬豆瓣小组,爬虫豆瓣群数量,小组
- Elasticsearch 入门到高手的成长阶梯-Elasticsearch集成中文分词IK
- VSCode中一款超级强大的Markdown插件(可修改Markdown预览主题)--MPE
- 自然环保美家 莫斯科165平温情公寓
- 安卓期末作品小项目_创意编程作品赞美!
- VIEWGOOD(远古)大科普:高清直播技术在网络电视中的运用
- html树长苹果,今年苹果上这两个病害为什么这么严重?