zoukankan      html  css  js  c++  java
  • matplotlib BboxBase类

    2020-04-07 17:24:12  --Edit by yangray

    BboxBaseTransformNode 的子类, 同时它是所有 bounding box(平行四边形限位框) 的基类,提供 ‘只读’ 的访问, 常规的是以两个点(无顺序约束)表示,此类提供方便的

    上 下 左 右边,宽 高 和 顶点坐标之间的转换方法。

    方法:

    • frozon():  

        返回静态的本Bbox对象的拷贝, 不会随子变换改变而改变

    • is_unit():

        若Bbox是单位Bbox (由[(0,0), (1, 1)]初始化, 即长宽都是1, 左下角在原点),则返回True,反之为False

    @property: 此后的方法由property装饰,且无property.setter(意为该属性只可读,不能改)

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

        返回初始化参数中的 x0, y0, x1, y1, (x0, y0), (x1, y1) (不保证x0<x1, y0<y1)

    • xmin(), ymin(), xmax(), ymax(), min(), max()

        返回Bbox的 左,下, 右,上边,左下, 右上点。 其中左下点横纵坐标保证<右上角.

    • intervalx(), intervaly():

        返回(x0, x1), (y0, y1)(不保证x0<x1, y0<y1)

    • width(), height(), size():

        返回Bbox的宽, 高, (宽, 高)。(注意: 若x1<x0, y1<y0, 宽高将为负数)

    • bounds():

        返回(x0, y0, width, height)。(width, height可能为负数)

    • extents():

        返回(x0, x1, y0, y1)

    @property修饰器到此为止

    • get_points():

        抽象方法。(子类必需继承该方法)

    • containsx(x), containsy(y), contains(x, y):

        返回边x, y,点(x, y) 是否在(x0, x1) ,(y0, y1),((x0, x1) ,(y0, y1))区间内, 在内为True, 反之为False

    • overlaps(other), fully_overlaps(other):

        返回当前bbox与[other]:其他bbox实例 是否重叠(边重叠算重叠) / 完全重叠(边重叠不算),重叠为True, 不重为False

    • fully_containsx(x), fully_containsy(y), fully_contains(x, y):

        返回 边x, y, 点 (x, y) 是否在(x0, x1)/ (y0, y1)/ ((x0, x1), (y0, y1)) 的开区间内(在边上不算),在内为True, 在外为False

    • transformed(transform), inverse_transformed(trans):

        返回一个由指定变换[transform]做静态变化 /( 再得反转) 之后的bbox 。(变换有尺度,位置,旋转,反转等变化)

    • anchord(c, container=None):

        参数 [c]: 锚点, 可以是 大写的方位首字母,'C'(中)、'S'(南)、'E'(东)、'NW'(西北)等,也可以是形如(0.2, 0.4)的元组(0为最左/下, 1为最右/上)       [container]: Bbox实例,锚定的目标容器 ,默认为None(即自身)

        返回以[c]指定的锚点为左下角, 移动bbox。

    • shrunk(mx, my),shrunk_to_aspect(box_aspect, container=None, fig_aspect=1.0):

        shrunk()

          参数 [mx], [my]: 浮点数, 通常取值为 0~1

          返回按mx,my缩小宽高后的Bbox

        shrunk_to_aspect()

          参数 [box_aspect]: 宽高比,[container]: 容器figure, 默认为None(自身)

          [fig_aspect]: 默认容器figure纵横比(若bbox坐标为相对的, 将容器figure宽高用fig_aspect约束,使box_aspect工作在一个绝对的维度下)

          收缩至可维持宽高比(box_aspect)的最大值

    • splitx(*args), splity(*args):

         参数 [*args]: 由0~1之间的浮点数组成的元组, 0为左或下, 1为右或上

        返回 按*args指定的位置横向 / 纵向切割成的Bbox的列表

    • count_contains(vertices), count_overlaps(bboxes):

        count_contains():     

                    参数 [vertices]: 点集, Nx2 numpy数组, Ex: [(1, 2), (2, 5), (6, 2)]

          返回vertices中包含在本Bbox中的顶点的个数

        count_overlaps():

         参数[bboxes]: Bbox集, Bbox实例数组, 

         返回bboxes中和本bbox重叠的bbox数量

    • expanded(sw, sh):

         参数 [sw], [sh]: 扩展比例

        返回以本Bbox将宽、高伸长至sw*width, sh*height(中心点不动)后的新Bbox

    • padded(p):

         参数[p]: 垫起的厚度

        返回本bbox将四边都垫厚p之后的新bbox

    • translated(tx, ty):

         参数[tx], [ty]:含义未知

         返回本bbox由tx, ty 静态地转换后的新Bbox

    • corners():

         返回四个角的坐标的列表, 按左下、左上, 右下, 右上的顺序

    • rotate(radians):

         [radians]: 返回本bbox顺时针旋转弧度(raidans)后的新bbox(中心不动)。

    @staticmethod: 静态方法(不接受默认传递的self指针参数,不传递建议以类调用,不从实例调用)

    • union(bboxes), intersection(bbox1, bbox2):

         参数 [bboxes]为bbox集, [bbox1]和[bbox2]为单个bbox

        返回bboxes的交集(包含所有bboxes中bbox的大bbox)/ bbox1和bbox2的交集

  • 相关阅读:
    vue computed watch 使用区别
    element 问题
    vue vue.config.js
    vue 路由
    算法
    《概率统计》10.变与不变:马尔科夫链的极限与稳态
    《概率统计》9.状态转移:初识马尔科夫链
    《概率统计》8.由静向动:随机过程导引
    《概率统计》7.统计推断:寻找最大似然与最大后验
    《概率统计》6.推断未知:统计推断的基本框架
  • 原文地址:https://www.cnblogs.com/exploer/p/12653945.html
Copyright © 2011-2022 走看看