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. MySQL 基础知识梳理学习(三)----InnoDB日志相关的几个要点

    1.InnoDB的特点 :(1)Fully ACID (InnoDB默认的Repeat Read隔离级别支持):(2)Row-level Locking(支持行锁):(3)Multi-version ...

  2. Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块

    Python第十一天    异常处理  glob模块和shlex模块    打开外部程序和subprocess模块  subprocess类  Pipe管道  operator模块   sorted函 ...

  3. 比较器 comparable与comparator用法

    comparable 接口 Comparable<T> 类型参数:T - 可以与此对象进行比较的那些对象的类型 public interface Comparable<T> 此 ...

  4. 抖音、YouTube、Facebook等新媒体营销与运营相关14本书

    最近几年看过的抖音等新媒体营销与运营相关的书有14本,好书不多.具体清单整理如下,点击标题或图片可以看详细点评与内容摘抄: 4星|<屏幕上的聪明决策>:人在手机/电脑上做选择的心理学研究综 ...

  5. .NET MVC全局异常处理(二)

    目录 .NET MVC全局异常处理(二) MVC过滤器Filter .NET MVC全局异常处理(二) 对上节的内容进行了补充 MVC过滤器Filter MVC有四种过滤器:Authorization ...

  6. C#基础知识之特性

    一.什么是特性 个人理解:特性本质上也是有一种类,通过添加特性,就可以实例化这个特性类:添加特性就是在类.方法.结构.枚举.组件等上面加一个标签,使这些类.方法.结构.枚举.组件等具有某些统一的特征, ...

  7. rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较

    Kafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲.异步通信.汇集日志.系统解耦等方面.相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的 ...

  8. @getMapping与@postMapping

    首先要了解一下@RequestMapping注解. @RequestMapping用于映射url到控制器类的一个特定处理程序方法.可用于方法或者类上面.也就是可以通过url找到对应的方法. @Requ ...

  9. 011_python常用查询

    一.获取指定日期的后(前)一(n)天 # coding=utf-8 import datetime #获取今天日期(年-月-日) today = datetime.date.today() #< ...

  10. 012_call和apply区别

    一. function fn(a,b) { console.log(this); } fn.call(null,1,2); //call为参数方式 fn.apply(null,[1,2]); //ap ...