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