python之OpenCv(三)---基本绘图
opencv 提供了绘制直线、圆形、矩形等基本绘图的功能
1、绘直线
cv2.line(画布,起点坐标,终点坐标,颜色,宽度)
例如:
cv2.line(image,(20,60),(300,400),(0,0,255),2)
2、绘矩形
cv2.rectange(画布,起点,终点,颜色,宽度)
若宽度大于0,标识边线宽度;如果小于0,表示画实心矩形
cv2.rectange(image,(20,60),(300,400),(255,0,0),-1)
3、绘圆形
cv2.circle(画布,圆心坐标,半径,颜色,宽度)
若宽度大于0,标识边线宽度;如果小于0,表示画实心圆行
cv2.circle(image,(300,300),40,(0,255,0),2)
4、绘多边形
cv2.polylines(画布,点坐标列表,封闭,颜色,宽度)
点坐标列表是一个numpy类型的列表,需要导入numpy 包
import numpy
创建点坐标: pts = numpy.array([[20,60],[300,280],[150,200]],numpy.int32)
cv2.rectange(image,[pts],True,(0,0,255),2)
5、添加文字
cv2.putText(画布,文字,位置,字体,大小,颜色,文字粗细)
字体:
cv2.FONT_HERSHEY_SIMPLEX 正常尺寸的sans-serif字体
cv2.FONT_HERSHEY_SPLAIN 小尺寸的sans-serif字体
cv2.FONT_HERSHEY_COMPLEX 正常尺寸的serif字体
cv2.FONT_HERSHEY_SCREIPT_SIMPLEX 手写字体风格
例如:
cv2.putText(image,'apple',(350,200),cv2.FONT_HERSHEY_SIMPLEX,1,(255,0,0),2)
import cv2
import numpy cv2.namedWindow("Image") #创建窗口 img = cv2.imread('ver.jpg') #读取图像 cv2.line(img,(50,50),(300,300),(255,0,0),2) #画直线 cv2.rectangle(img,(500,20),(580,100),(0,255,0),-1) #画矩形 cv2.circle(img,(500,300),40,(255,255,0),-1) #画圆形 pts = numpy.array([[300,300],[300,340],[350,320]],numpy.int32) #用numpy形成坐标列表
cv2.polylines(img,[pts],True,(0,255,255),2) #画多边形 cv2.putText(img,'测试',(350,420),cv2.FONT_HERSHEY_SIMPLEX,1,(255,232,133),2) cv2.imshow('Image',img)
cv2.waitKey(0)
cv2.destroyWindow("Image") #关闭窗口
polylines
python之OpenCv(三)---基本绘图的更多相关文章
- Python 图像处理 OpenCV (16):图像直方图
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- OpenCV中的绘图函数-OpenCV步步精深
OpenCV 中的绘图函数 画线 首先要为画的线创造出环境,就要生成一个空的黑底图像 img=np.zeros((512,512,3), np.uint8) 这是黑色的底,我们的画布,我把窗口名叫做i ...
- Python下opencv使用笔记(一)(图像简单读取、显示与储存)
写在之前 从去年開始关注python这个软件,途中间间断断看与学过一些关于python的东西.感觉python确实是一个简单优美.easy上手的脚本编程语言,众多的第三方库使得python异常的强大. ...
- Python调用OpenCV读显写
OpenCV提供了python的接口,而且很重要的一点是python下的很多接口名与C++的接口名是一样的,这一篇先记录python调用OpenCV去读取图像.显示图像和保存图像. 1.OpenCV读 ...
- Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像
前文传送门: 「Python 图像处理 OpenCV (1):入门」 普通操作 1. 读取像素 读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B.G.R三个分量. 需 ...
- Python 图像处理 OpenCV (3):图像属性、图像感兴趣 ROI 区域及通道处理
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 图像属性 图像 ...
- Python 图像处理 OpenCV (5):图像的几何变换
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- Python 图像处理 OpenCV (6):图像的阈值处理
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- Python 图像处理 OpenCV (9):图像处理形态学开运算、闭运算以及梯度运算
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
随机推荐
- 高版本Sqlserver数据库导入低版本Sqlserver
今天想跑一个关于java网站的demo,结果在附加数据库项这一块出现问题,例程的数据库用的是sqlserver2014,而我的是2008,添加数据库出现错误.经过一番查找,也找到某人写的一些博客上的解 ...
- 浅谈TCP IP协议栈(一)入门知识【转】
说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋. 万事开头难,然后中间难 ...
- phoenix API服务发布
概述 Elixir 的 Phoenix 框架对于开发 Web 应用非常方便,不仅有 RoR 的便利,还有 Erlang 的性能和高并发优势. 但是应用的发布涉及到 Erlang 和 Elixir 环境 ...
- bsp 总结正规流程
1. do boot 之类下载boot的都是将 uboot.bin里的内容下载到flash 0x0位置 => nand dump 0x0Page 00000000 dump: 14 00 00 ...
- git 忽略 .idea文件
多人开发时,会出现明明在gitignore中忽略了.idea文件夹,但是提交时仍旧会出现.idea内文件变动的情况 原因.idea已经被git跟踪,之后再加入.gitignore后是没有作用的 解决办 ...
- ubuntu下安装飞鸽传书
1.从官网下载Linux版本飞鸽传书(http://www.ipmsg.org.cn/) 2.解压后执行 ./QIpmsg 若报错 libstdc++.so.6: version `CXXABI_AR ...
- AI 生成式对抗网络(GAN)
生成式对抗网络(Generative Adversarial Network,简称GAN),主要由两部分构成:生成模型G和判别模型D.训练GAN就是两种模型的对抗过程. 生成模型:利用任意噪音(ran ...
- 【原创】架构师必备,带你弄清混乱的JAVA日志体系!
引言 还在为弄不清commons-logging-xx.jar.log4j-xx.jar.sl4j-api-xx.jar等日志框架之间复杂的关系而感到烦恼吗? 还在为如何统一系统的日志输出而感到不知所 ...
- 【Swift 3.0】iOS 国际化切换语言
有的 App 可能有切换语言的选项,结合系统自动切换最简单的办法: fileprivate var localizedBundle: Bundle = { return Bundle(path: Bu ...
- Socket之listen() receive()
socket.listen([backlog]) 相比listen方法,它俩就好理解多了,一个是Client用于连接Server的方法,一个是Server用于接收Client的连接申请的方法. 但事 ...