关闭

【OpenCv-Python】三、Drawing Functions in OpenCv

标签: OpenCvPython绘图函数中文文档OpenCv-Python
48人阅读 评论(0) 收藏 举报
分类:

OpenCv 中的绘图函数

目标

  • 学会用OpenCv 绘制不同的几何图形。
  • 你将要学会这些函数:cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.putText() 等。

代码

在上面的所有函数中,下面将要给出你会看到的一些都包括的参数:
  • img:你想绘制出的那副图像
  • color:形状的颜色。以RGB为例,需要传入一个元祖,例如(255,0,0)代表蓝色。对于灰度图只需传入灰度值。
  • thickness:线条的粗细。如果一个闭合图形设置为-1,那么这个图形就会被填充。默认值为1.
  • linetype:线条的类型,是否8连接,反锯齿线。默认情况下,它是8连接。cv2.LINE_AA 提供了抗锯齿线条,看起来很适合画曲线。

3.1 画线

想要画一条线,你需要确定线的开始和结束的坐标。我们将要创建一个黑色背景的图片,在图片上画一条从左上方到右下方的蓝色线条。

import numpy as np
import cv2

#创建一个黑色图片 np.zeros()返回一个填充为0的数组
img = np.zeros((512,512,3),np.uint8)

#画一条5px粗的蓝色对角线
img = cv2.line(img,(0,0),(511,511),(255,0,0),5)

3.2 画矩形

想要画一个矩形,你需要确定函数的左上角顶点和右下角顶点的坐标。这次我们会在图像右上角画一个绿色的矩形。

cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)

3.3 画圆

想要画一个圆,你需要确定它的圆心坐标和半径。我们在矩形中画一个圆。

cv2.circle(img,(447,63),63,(0,0,255),-1)

3.4 画椭圆

画一个椭圆,我们需要输入几个参数。一个参数是椭圆中心坐标(x,y)。下一个参数是长轴和短轴的长度。椭圆沿逆时针方向旋转的角度。椭圆弧沿顺时针方向起始的角度和结束角度。例如 值为 0 和 360就是整个椭圆。如果想要了解更多,请查看 cv2.ellipse()的文档。下面的例子在图像的中心绘制了半个椭圆

img = cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)

3.5 画多边形

画一个多边形,需要确定每个顶点的坐标,用这些点的坐标构建一个大小等于函数 Row x1x2的数组,行数就是点的数目。这个数组类型必须是int32.这里画一个黄色的具有四个顶点的多边形。

pts = np.array([[20,5],[20,30],[70,20],[50,100]],np.int32) #首尾相连
pts = pts.reshape((-1,1,2))
img = cv2.polylines(img,[pts],True,(0,255,255))

注意

如果第三个参数是False ,我们得到的多边形是不闭合的(首尾不相连)。

注意

cv2.polylines() 可以被用来画很多条线。只要把想要画的线放在一个列表中,将这个列表传给函数就行了。每条线都会被独立绘制,
这比用cv2.line()一条一条的绘制要快多了。

3.6 在图片上添加文字

在图片上绘制文字,你需要设置下列参数:

  • 你要绘制的文字
  • 你要绘制的位置
  • 字体的类型(通过查看 cv2.putText() 的文档找到支持的字体)
  • 字体的大小
  • 字体的一般属性如颜色,粗细,线条的类型等。为了更好看一点推荐使用linetype = cv2.LINE_AA

在图像上绘制白色的 OpenCv

font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'Opencv',(10,500),font,4,(255,255,255),2,cv2.LINE_AA)

警告

所有的绘图函数的返回值都是 None ,所以不能使用 img = cv2.line(img,(0,0),(511,511),(255,0,0),5)

结果

所以现在是时候看看我们画的最终结果了。通过你前面学习到的知识把它显示出来吧。

cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
1
0
查看评论

Gizmos 辅助线框

Gizmos are used to give visual debugging or setup aids in the scene view. Gizmos是用于在场景视图可视化调试或辅助设置。 All gizmo drawing has to be done in either OnD...
  • wuqinxiang
  • wuqinxiang
  • 2012-09-14 15:33
  • 690

opencv之画图(Drawing Functions in OpenCV )

目标: - 学习用opencv画不同的几何图形 - 将能学习到直线line(),圆circle(),长方形rectangle(),椭圆ellipse(),文字输出putText()等函数。 代码: 1. img :the image where you want to draw the s...
  • legalhighhigh
  • legalhighhigh
  • 2017-12-06 21:17
  • 39

opencv-Python是什么?

先来看百度百科的解释:OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和...
  • caimouse
  • caimouse
  • 2017-03-13 16:55
  • 1265

pip install opencv-python遇到的错误

Found existing installation: numpy 1.8.0rc1 DEPRECATION: Uninstalling a distutils installed project (numpy) has been deprecated and will be remov...
  • xx352890098
  • xx352890098
  • 2017-12-19 13:11
  • 247

opencv Drawing Functions 全部函数使用说明

#include "stdafx.h" #include "DrawingFunctions.h" using namespace cv; DrawingFunctions::DrawingFunctions() { } DrawingFunctions...
  • u012917416
  • u012917416
  • 2017-11-16 14:37
  • 64

在mac上配置opencv python开发环境

在mac上配置opencv python开发环境Machine learning基础看的差不多了,觉得应该开始找点实际而又感兴趣的东西做一做,打算开始入门cv。在mac上安装opencv配置python的开发环境着实让人废了不少劲。opencv的官网上有windows、linux、android和i...
  • wdmtidy
  • wdmtidy
  • 2017-01-05 22:06
  • 2780

Raspberry Pi OpenCV,在树莓派上使用python opencv

关于树莓派: Raspberry Pi是一款基于Linux系统的个人电脑,配备一枚700MHz的处理器,256内存,支持SD卡和Ethernet,拥有两个USB接口,以及 HDMI和RCA输出支持。有消息称,虽然Raspberry Pi看起来非常的迷你——只有一张信用卡大小,但是它能够运行像《雷神...
  • july0404
  • july0404
  • 2014-12-05 10:57
  • 1157

《python+opencv学习》一、Gui Features in Opencv(1)读入、保存图片

首先,非常感谢段力辉老师翻译整理的《opencv-Python中文教程》,这个文档真的非常好,对于opencv初学者来说,帮助非常大,可以让初学者快速上手。 推荐两个opencv学习网站: (1) http://docs.opencv.org/2.4/index.html 这个网站可以查询openc...
  • sinat_31135199
  • sinat_31135199
  • 2016-04-24 16:09
  • 806

Anconda,python2.7安装opencv

记录一下自己走过的配置过程: 1、为了在python中导入cv2库,安装opencv,刚开始下载安装opencv2.4.10结果发现自动编译cuda,提示错误,于是在opencv2.4.10文件里边找到Cmakelist搜索找到cuda,选择OFF,编译通过,但是发现把opencv下build...
  • gaoxurong123456
  • gaoxurong123456
  • 2017-03-30 18:20
  • 566

ubuntu 下安装python,opencv

ubuntu 14.04, python 2.4.10,opencv2.4.9 1.首先在安装python 之前,先要安装libssl-dev, 安装方法是 sudo apt-get install libssl-dev,否则无法使用pip 安装其他包。 2.安装python ./config...
  • u013845708
  • u013845708
  • 2015-11-05 17:11
  • 693
    个人资料
    • 访问:126510次
    • 积分:3214
    • 等级:
    • 排名:第12600名
    • 原创:187篇
    • 转载:4篇
    • 译文:9篇
    • 评论:33条
    RUNNING|~_~|My web
    微信公众号
    课程设计、视频资源、有料趣文
    Worldhello


    微信公众号:Worldhello
    期待您的关注!
    博客专栏
    最新评论