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