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(三)---基本绘图的更多相关文章

  1. Python 图像处理 OpenCV (16):图像直方图

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...

  2. OpenCV中的绘图函数-OpenCV步步精深

    OpenCV 中的绘图函数 画线 首先要为画的线创造出环境,就要生成一个空的黑底图像 img=np.zeros((512,512,3), np.uint8) 这是黑色的底,我们的画布,我把窗口名叫做i ...

  3. Python下opencv使用笔记(一)(图像简单读取、显示与储存)

    写在之前 从去年開始关注python这个软件,途中间间断断看与学过一些关于python的东西.感觉python确实是一个简单优美.easy上手的脚本编程语言,众多的第三方库使得python异常的强大. ...

  4. Python调用OpenCV读显写

    OpenCV提供了python的接口,而且很重要的一点是python下的很多接口名与C++的接口名是一样的,这一篇先记录python调用OpenCV去读取图像.显示图像和保存图像. 1.OpenCV读 ...

  5. Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 普通操作 1. 读取像素 读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B.G.R三个分量. 需 ...

  6. Python 图像处理 OpenCV (3):图像属性、图像感兴趣 ROI 区域及通道处理

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 图像属性 图像 ...

  7. Python 图像处理 OpenCV (5):图像的几何变换

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...

  8. Python 图像处理 OpenCV (6):图像的阈值处理

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...

  9. Python 图像处理 OpenCV (9):图像处理形态学开运算、闭运算以及梯度运算

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...

随机推荐

  1. 电脑一键U盘启动快捷键

    下面是我特意列出的品牌电脑.笔记本电脑.组装电脑一键U盘启动快捷键对应列表,仅供大家查阅参考! [品牌-笔记本电脑] 笔记本品牌  启动按键 联想笔记本  F12 宏基笔记本  F12 华硕笔记本   ...

  2. Ubuntukylin 14.04 系统语言改成中文[转]

    1.在左侧点击"system setting" 2.按在图中方法设置 3.重启系统   参考地址:http://hi.baidu.com/thj2080/item/ae8e5dce ...

  3. 用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

    数据库中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. 方法一: select (case when a>b then a el ...

  4. LeetCode算法题-Distribute Candies(Java实现)

    这是悦乐书的第266次更新,第279篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第133题(顺位题号是575).给定具有偶数长度的整数数组,其中该数组中的不同数字表示不 ...

  5. How Cigna Tuned Its Spark Streaming App for Real-time Processing with Apache Kafka

    Explore the configuration changes that Cigna’s Big Data Analytics team has made to optimize the perf ...

  6. Nginx 的 access log 如何以 json 形式记录?

    Nginx 的 access log 默认是以空格分隔的字符串形式记录的,格式如下 log_format proxy '[$time_local] $remote_addr ' '$protocol ...

  7. 解决OrangePi 耳机孔没有声音

    遇到过插入耳机后没有声音,解决步骤如下: 打开终端TERMINAL(LUBUNTU按CTRL+ALT+T,MATE选SYSTERM ADMINSTRATION-MATER TERMINAL),SSH登 ...

  8. CF1012A Photo of The Sky

    CF1012A Photo of The Sky 有 \(n\) 个打乱的点的 \(x,\ y\) 轴坐标,现在告诉你这 \(2\times n\) 个值,问最小的矩形面积能覆盖住n个点且矩形长和宽分 ...

  9. Linux内存管理 (2)页表的映射过程

    专题:Linux内存管理专题 关键词:swapper_pd_dir.ARM PGD/PTE.Linux PGD/PTE.pgd_offset_k. Linux下的页表映射分为两种,一是Linux自身的 ...

  10. SQL分组求每组最大值问题的解决方法收集 (转载)

    例如有一个表student,其结构如下: id      name     sort      score 1        张三      语文      82 2        李四      数 ...