Bbox 类是一个可变的(相对于BboxBase)限位框, 继承自BboxBase

2020-04-07 22:54:57  --Edit by yangray

方法:

  • __init__(points, **kwargs):

    参数:[points]:2*2 numpy 数组(左下角,右下角)

    初始化如果想通过其他形式的数据初始化bbox,可尝试from_bounds(),from_extents(),unit()

  • unit():

    返回新的单位bbox,Bbox([[0.0, 0.0], [1.0, 1.0]])

  • null():

    返回一个空的bbox,Bbox(np.array([[np.inf, np.inf], [-np.inf, -np.inf]], float)), 即以((无穷大,无穷大),(无穷小,无穷小))初始化

  • from_bounds(x0, y0, width, height):

    参数: [x0], [y0], [width], [height]: x0, y0,宽,高

    以左下角坐标和宽高来初始化bbox并返回

  • from_extends(*args):

    参数[*args]:左下右上 四边形式为长度为4的1维数组

    以左下右上(x0, x1, y0, y1)初始化bbox并返回

  • ignore(value):

    参数[value]: bool值

    设置已存在的边框是否需要被无视,value=True(真)则无视,False(假)则不无视

  • update_from_path(path, ignore=None, updatex=True, updatey=True):

    参数 [path]: matplotlib.path.Path实例,意为线、路径  [ignore]: bool值,True为无视已存在边框

    [updatex], [updatey]: 皆为bool值, True为更新x / y 相应的值

    以给定的path初始化bbox(线作为对角线),初始化后的新的bbox具有正数的宽高,x0,y0指向左下角(不再无序)

  • update_from_data_xy(self, xy, ignore=None, updatex=True, updatey=True):

    [xy]: 2*2 numpy 数组,线的两端点坐标, 其余参数同前一方法

    该方法先将xy转化为Path, 再利用update_from_path()实现初始化bbox并返回。(功能类似update_from_path())

@property_name.setter 修饰器(用于修改property修饰器修饰的方法代表的属性值)修饰,以下方法皆是。property_name都是父类中设定的方法

  • x0(v), y0(v), x1(v), y1(v), p0(v), p1(v):

    设置对应的x0, y0, x1, y1,bbox对角线的其中一端点,对角线的另一端点。

  • intervalx(interval), intervaly(interval):

    参数[interval]: 长度为2的一维数组(x / y方向的两边)

    设置自身bbox的(x0, x1) / (y0, y1)

  • bounds(bounds):

    参数[bounds]: 形如(x0, y0, 宽, 高)的序列

    设置自身bbox的x0, y0, 宽, 高

@property_name.setter作用范围到此为止

@property 修饰(被修饰方法代表的属性为只读属性)

  • minposx(), minposy(), minpos():

    返回最小的 x方向坐标 / y方向上的坐标 / 点坐标

@property 修饰范围结束

  • get_points():

    此方法为父类BboxBase的抽象方法,返回[[x0, y0], [x1, y1]]

  • set_points(points):

    参数[points]: [[x0, y0], [x1, y1]](左,下,右,上边)

    将自身bbox的_points参数以points替换之,(此方法多为函数内部使用,不会检查error)

  • set(other):

    参数[other]: 其他bbox实例

    将其它bbox的限位参数(_points)设为自身的_points

  • mutatedx(), mutatedy(), mutated()

    返回是否x_limits / y_limits / x_limits 或 y_limits 自初始化以来被更改过, 改过为True,没改为False

matplotlib Bbox类的更多相关文章

  1. matplotlib BboxBase类

    2020-04-07 17:24:12  --Edit by yangray BboxBase 是 TransformNode 的子类, 同时它是所有 bounding box(平行四边形限位框) 的 ...

  2. matplotlib TransformNode类

    TransformNode 是所有参与变换的类和所有需要无效自己或祖先的类的基类 方法: __init__(shorthand_name=None): 参数 [shorthand_name]: 别名 ...

  3. matplotlib的annotate用法小结

    这个是matplotlib自定义的annotate方法的文本: 一. def annotate(self, s, xy, *args, **kwargs): a = mtext.Annotation( ...

  4. Matplotlib Tutorial(译)

    Matplotlib Tutorial(译) 翻译自:Matplotlib tutorialNicolas P. Rougier - Euroscipy 2012 toc{: toc} 这个教程基于可 ...

  5. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  6. windows7 安装TensorFlow

    Win7 TensorFlow安装步骤: 1.安装python,参考http://www.zhimengzhe.com/windows/283058.html#0-tsina-1-12530-3972 ...

  7. 人脸跟踪开源项目HyperFT代码算法解析及改进

    一.简介 人脸识别已经成为计算机视觉领域中最热门的应用之一,其中,人脸信息处理的第一个环节便是人脸检测和人脸跟踪.人脸检测是指在输入的图像中确定所有人脸的位置.大小和姿势的过程.人脸跟踪是指在图像序列 ...

  8. matplotlib 中其他基于Affine2DBase的类

    2020-04-11 11:42:22 --Edit by yangray以下所有类(除了BboxTransformToMaxOnly )都直接继承于Affine2DBaseIdentityTrans ...

  9. matplotlib类

    1.plt.subplot 在matplotlib下,一个Figure对象可以包含多个子图(Axes),可以使用subplot()快速绘制,其调用形式如下:subplot(numRows, numCo ...

随机推荐

  1. rem - 移动前端自适应适配布局解决方案和比较(转载)

    原文链接:http://caibaojian.com/mobile-responsive-example.html 互联网上的自适应方案到底有几种呢?就我个人实践所知,有这么几种方案:· 固定一个某些 ...

  2. 在5G+AI+Cl 拉动互联网走向物联网

    大家好我是浅笑若风,今天在这里和大家聊聊的是:5G+AI+CL拉动互联网走向物联网 在虫洞时空里我们早已能遇见到世界的尽头会是什么样子,微服务,微生活的迅速发展的时代.我们在虚拟的多次元世界购物.交易 ...

  3. 2018 巅峰极客CTF misc writeup

    flows 拿到一个pcap包,用wireshark打开,发现是USB协议,尝试在kali下使用tshark提取,提取失败,发现异常.回到wireshark分析数据.在其中一个数据包中发现了tip 把 ...

  4. hGame2020第二周第一题题解

    Description: Cosmos通过两个小时速成了PHP+HTML,他信心满满的写了一个博客,他说要从博客后台开始......(flag在根目录, 禁止使用任何扫描器) Challenge Ad ...

  5. 基于Docker搭建Nginx图片服务器

    前言 一般开发中,都会把图片上传到一个目录,然后将目录和文件名拼接存储在数据库中,但是,这种方法如果没弄好的话可能有一定的缺陷. 若项目搬迁,即时这台服务器本身还在用,存放在服务器的跟项目相关的图片也 ...

  6. 图解Java设计模式之模板模式

    图解Java设计模式之模板模式 豆浆制作问题 模板方法模式基本介绍 模板方法模式原理类图 模板方法模式解决豆浆制作问题 模板方法模式的钩子方法 模板方法模式在Spring框架中的源码分析 模板方法模式 ...

  7. Js遍历数组总结

    Js遍历数组总结 遍历数组的主要方法为for.forEach.map.for in.for of for var arr = [1,2,3,4,5]; var n = arr.length; // 直 ...

  8. 洛谷P1957口算练习题题解

    前言: 题目传送门:https://www.luogu.com.cn/problem/P1957 其实这很简单 纯模拟撒~~~~ 正文开始: _话说 ,就当本蒟蒻正高高兴兴的刷水题时,居然 碰到了这个 ...

  9. 用python实现矩阵转置,python3 中zip()函数

    前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...

  10. TensorFlow 多 GPU 处理并行数据

    Multi-GPU processing with data parallelism If you write your software in a language like C++ for a s ...