热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

opencv3.4+python3.6中文教程3之绘图操作

目标在图像上绘制不同的几何图形。cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()等函数的用法。主要参

目标
在图像上绘制不同的几何图形。
cv.line(), cv.circle() , cv.rectangle(), cv.ellipse(), cv.putText() 等函数的用法。
主要参数
img : 目标图像
color : 颜色元祖,按照BGR排列,如(255,0,0)即为blue蓝色。
Thickness: 以像素数代表宽度,-1代表实心填充。
lineType : 线型,cv.LINE_4、cv.LINE_8、cv.LINE_AA 。
划线
如:cv.line(img,(pnt1),(pnt2),(255,0,0),5)
pnt1代表起点,可以用(25,35)来表示。
pnt2代表终点。
(255,0,0)代表颜色,按照BGR排列,蓝色。
5:代表线宽。
画矩形
如:cv.rectangle(img,(pnt_top_left),(pnt_bottom_right),(0,255,0),3)
pnt_top_left:左上角坐标
pnt_bottom_right:右下角坐标
(0,255,0):颜色,BGR,green绿色。
3:代表宽度
画圆
如:cv.circle(img,(center), radio, (0,0,255), -1)
center:圆心坐标
radio:半径,以像素值表示
画椭圆
cv.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]])
如:cv.ellipse(img,(center),(100,50),0,0,180,255,-1)
center:代表圆心坐标。
axes(100,50)代表长轴和短轴。
第一个0,angle代表椭圆沿顺时针方向的旋转角度。
startAngle, endAngle:代表椭圆的起始角度和终止角度,逆时针。
这里写图片描述这里写图片描述
绘多边形
我们首先需要建立一个坐标矢量的列表,把多边形的顶点按照需要的格式规整好,如下:​
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv.polylines(img,[pts],True,(0,255,255))
true代表形成一个封闭的多边形,false代表只是连接各顶点,而非封闭。
用cv.polylines函数来绘制多条直线比用cv.line()函数的效率要高。
给图片增加文字
fOnt= cv.FONT_HERSHEY_SIMPLEX
cv.putText(img,’OpenCV’,(start_pnt), font, 4,color,2,cv.LINE_AA)
其中OpenCV代表要添加的文字,opencv目前还不支持中文。
4代表文字高度的比例。
2代表线宽。
cv.LINE_AA:代表线宽。
实例
这里写图片描述


推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 浅谈Python3中打开文件的方式(With open)
    浅谈Python3中打开文件的方式(With open)-目录0.背景知识1.常规方式:读取文件-----open()2.推荐方式:读取文件-----WithOpen1).读取方式 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Python3怎么获取文件属性
    这篇文章给大家分享的是有关Python3怎么获取文件属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。os.stat(path ... [详细]
author-avatar
tuitu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有