此处要花几何图形,我们需要用到如下几个函数:

cv2.line              画线函数
cv2.circle            画圆函数
cv2.ellipse           画椭圆
cv2.rectangle         画矩形

1、画线

img=cv2.line(img,(0,0),(500,500),(255,0,0),5)

参数(要显示的图片名,起始坐标,终点坐标,颜色,线条宽度)

2、画圆

img=cv2.circle(img,(250,250),100,(255,255,0),1)

参数(要显示的图片,圆心坐标,半径,颜色,线条宽度)

3、画椭圆

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

这里的参数会稍微复杂些(图片名,圆心坐标,(长轴长度,短轴长度),旋转角度,开始角度,结束角度,颜色,线条宽度)

注,当线条宽度为-1时,表示图像为填充模式

4、画矩形

img=cv2.rectangle(img,(100,100),(200,200),(255,0,0),-1)
参数(图片名,对角线开始坐标,对角线终止坐标,颜色,线宽)
这里用到了对角线上的两个点来确定一个矩形的方法

5、多边形

pts=np.array([[100,100],[150,80],[80,70],[100,10]],np.int32)
pts=pts.reshape(-1,1,2)
img=cv2.polylines(img,[pts],True,(255,0,0))

第一步,确定多边形的顶点,这里我们输入了四个顶点

第二步, 如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值。
第三不,为polvlines绑定数据

6、输出文字

font=cv2.FONT_HERSHEY_COMPLEX              设置字体
cv2.putText(img,"OpenCV",(0,400),font,4,(255,255,255))
此函数的参数(图片名,显示的文字,文字的坐标,字体,字号,颜色)


全部代码如下:

  
import cv2
import numpy as np
img=np.zeros((500,500,3),np.uint8)
#绘制一张500*500的图片
img=cv2.line(img,(0,0),(500,500),(255,0,0),5)
img=cv2.line(img,(0,500),(500,0),(255,0,0),5)
img=cv2.circle(img,(250,250),100,(255,255,0),1)
font=cv2.FONT_HERSHEY_COMPLEX
cv2.putText(img,"OpenCV",(0,400),font,4,(255,255,255))
img=cv2.ellipse(img,(250,250),(100,50),180,0,180,(255,0,0),-1)
img=cv2.rectangle(img,(100,100),(200,200),(255,0,0),-1)
pts=np.array([[100,100],[150,80],[80,70],[100,10]],np.int32)
pts=pts.reshape(-1,1,2)
img=cv2.polylines(img,[pts],True,(255,0,0))
cv2.imshow('image',img)
cv2.waitKey(0)

实现效果如图所示

openCV Python学习笔记(二)画几何相关推荐

  1. Python学习笔记六——画小猪佩奇

    目录 Python学习笔记六--画小猪佩奇 画布 画笔 属性设置 操纵命令 运动命令 画笔控制命令 全局控制命令 其他命令 Python学习笔记六--画小猪佩奇 使用Python的turtle库可以绘 ...

  2. python学习笔记(二) 基本运算

    python学习笔记(二) 基本运算 1. 条件运算 基本语法 if condition1: do somethings1elif condition2: do somethings2else: do ...

  3. (10.1)Python学习笔记二

    1.在项目工程中要模块化测试一个开发的功能,在测试通过后交付给项目组其他人员继续开发.要保证代码开发的性能和效率以及可扩展性. 2.项目工程中的文件夹分类要功能模块明确清晰,在python中引入某一个 ...

  4. python学习笔记二

    1 正则 1-1 普通字符 s1 = 'asd25454655js6565askJ\nNKJLasd5165123' # 1 匹配单个大写英文字母 obj = re.compile('[A-Z]') ...

  5. python学习笔记(二十三) -- 多进程和多线程

    目录 多线程多进程的意义 多进程的使用 方式一(fork):  只能在Unix/Linux/Mac系统下执行,windows不可以 方式二(multiprocessing.Process): 全平台通 ...

  6. Python学习笔记|二.Python安装教程

    Python 安装教程 Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 安装Pyth ...

  7. 【懒懒的Python学习笔记二】

    列表是Python新手可直接使用的最强大的功能之一. 一.创建一个列表 在Python中,用方括号([ ])表示一个列表,其中用逗号(,)分割列表元素,下面是一个简单的列表示例: . 如果你让Pyth ...

  8. python学习笔记二——阅读MakeHuman程序源码小结

    1.环境变量 用Python Shell设置或获取环境变量的方法: 一.设置系统环境变量 1.os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型 2 ...

  9. python学习笔记二— 循环

    程序结构 •三种结构◾顺序 ◾循环 ◾分支 分支结构 •分支结构基本语法◾if (如果) 条件表达式: ◾语句1 ◾语句2 ◾语句3 ◾- •条件表达式就是计算机结果必须为 布尔值 的表达式 •表达式 ...

最新文章

  1. skimage.io.imread vs caffe.io.load_image
  2. MYSQL专题-MySQL事务实现原理
  3. mockito mock void方法_用过举手!SpringBoot 单元测试利器Mockito
  4. 导入一个android项目需要改什么意思,导入别人的Android Studio项目前要修改的文件...
  5. 学霸的迷宫-蓝桥杯算法提高-广搜 bfs 经典问题
  6. python menu实例_python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例...
  7. 如何在 Mac 上重置网络设置?
  8. 操作系统安全 基本概念
  9. 软件及其公司篇--项目管理(七)
  10. Python实战:导出QQ聊天记录生成词云看看你和你的女友聊了什么
  11. 微博话题墙 html,Js仿微博插入话题功能
  12. 2017杭州云栖大会参会体验
  13. 浅谈图形软件中直线和曲线的基本构成(下)
  14. excel计算机基础知识考试题,2017年计算机excel基础考试题「附答案」
  15. 青龙脚本(七猫免费小说,附脚本)
  16. python 字符串的输入和输出
  17. 实时音视频会议场景下QoS策略
  18. java user.dir 设置_关于user.dir的认识
  19. InChat版,仅仅两个接口实现自己的IM系统(可兼容)
  20. 简单理解:人工智能、数据挖掘、模式识别、机器学习、深度学习

热门文章

  1. maltose-BSA 麦芽糖-牛血清白蛋白 BSA-PEG-maltose,牛血清白蛋白-PEG-麦芽糖
  2. element如何修改内联样式
  3. python简单小练习(百货公司促销,输入购物款数,计算打折价格)
  4. 说说 Redis 缓存穿透场景与相应的解决方法
  5. 字节青训营第十三课之深入浅出RPC框架的笔记与总结.md
  6. 针对转动的自适应轮毂装饰盖
  7. 【转】从零开始React服务器渲染
  8. 【阅】Beyond Learning from Next Item: Sequential Recommendationvia Personalized Interest Sustainability
  9. Web前端 html css学习笔记(更新)
  10. 常用单端到差分转换电路