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. 微信小程序下拉刷新和上拉加载的实现

    一: 下拉刷新 下拉刷新两个步骤就能实现. 1.在要实现下拉刷新的页面的json配置文件里面加上 "enablePullDownRefresh": true, //开启下拉刷新 & ...

  2. 什么是tomcat集群?

    什么是tomcat集群? 利用nginx对请求进行分流,将请求分配给不同的tomcat去处理,减少每个tomcat的负载量,提高服务器的响应速度. 目标 实现高性能负载均衡的tomcat集群. 工具 ...

  3. 4.14Python数据处理篇之Matplotlib系列(十四)---动态图的绘制

    目录 目录 前言 (一)需求分析 (二)随机数的动态图 1.思路分析: 2.源代码: 2.输出效果: 目录 前言 学习matplotlib已经到了尾声,没有必要再继续深究下去了,现今只是学了一些基础的 ...

  4. LeetCode算法题-N-ary Tree Postorder Traversal(Java实现)

    这是悦乐书的第269次更新,第283篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第136题(顺位题号是590).给定一个n-ary树,返回其节点值的后序遍历.例如,给定 ...

  5. CSS---内外边距

    1.内外边距含义 内边距是div边框内的距离.背景色会覆盖内边距,内边距会使宽高变大. 外边距是div边框外的距离.背景色不会覆盖外边距 内外边距都会撑高父元素,外边距会提高div与div之间的距离 ...

  6. Hadoop Yarn配置项 yarn.nodemanager.resource.local-dirs探讨

    1. What is the recommended value for "yarn.nodemanager.resource.local-dirs"? We only have ...

  7. 环境配置 mac安装bazel

    brew cask install homebrew/cask-versions/java8 brew install bazel

  8. Codeforces Round 1153(div. 2)

    这场奇差.ABCD四题.179名. 但是E在现场有213个人做出. 描述一下我在35分钟做完D后的心路历程. 首先看到这道E,第一下想到的是把所有的横向和竖向的整列(行)求出相连的个数. 然后想如何能 ...

  9. 在Mac OS X下使用Apache、PHP、MySQL、Netbeans、Yii

    本文环境: Mac OS X:10.8.4 Apache:2.2.22 PHP:5.3.15 Netbeans:7.3.1 Yii:1.1.14 Mac OS X是内置了Apache服务器的,不过默认 ...

  10. Generative Adversarial Nets[BEGAN]

    本文来自<BEGAN: Boundary Equilibrium Generative Adversarial Networks>,时间线为2017年3月.是google的工作. 作者提出 ...