compare_anno_marks
函数源码
flag: bool = compare_anno_marks(
anno_item_1: AnnoItem | AnnoMark,
anno_item_2: AnnoItem | AnnoMark,
tolearance: float = 0.1,
)
比较两个标记位置信息是否相同。
只针对标记的位置信息比较。标记的ID和文字标注(comment)不会用来比较。
别名
该函数可以按以下方式之一获取
import dash_picture_annotation as dpa
dpa.compare_anno_marks
dpa.utilities.compare_anno_marks
参数
输入
参数 | 类型 | 必选 | |
---|---|---|---|
| AnnoItem | AnnoMark | 要比较的标记数据项。 | |
tolearance | float | 用来分辨位置是否相等的阈值。 |
输出
参数 | 类型 | |
---|---|---|
flag | bool | 二值量。当且仅当两个受比较对象的位置和尺寸均相同时,返回 若其中某个对象并非标记数据项、或标记数据项的位置信息,返回 |
范例
比较位置信息
- 代码
- 结果
compare_anno_item_position.py
import pprint
import dash_picture_annotation as dpa
mark = lambda pos: {"x": pos, "y": 0, "width": 0, "height": pos, "type": "RECT"}
mark_eq = lambda pos: {"x": pos, "y": pos, "width": 0, "height": -pos, "type": "RECT"}
pprint.pprint(dpa.compare_anno_marks(mark(17.7), mark(17.7)))
pprint.pprint(dpa.compare_anno_marks(mark(17.7), mark(17.8)))
pprint.pprint(dpa.compare_anno_marks(mark(17.7), mark_eq(17.7)))
pprint.pprint(dpa.compare_anno_marks({"id": mark(17.7)}, mark(17.7)))
True
False
True
False