跳到主要内容

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

参数

输入

参数类型必选
说明

anno_item_1

anno_item_2

AnnoItem | AnnoMark要比较的标记数据项。
tolearancefloat用来分辨位置是否相等的阈值。

输出

参数类型
说明
flagbool

二值量。当且仅当两个受比较对象的位置和尺寸均相同时,返回True

若其中某个对象并非标记数据项、或标记数据项的位置信息,返回False

范例

比较位置信息

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)))