clear_objclear_objClearObjClearObjclear_obj清除对象(算子)

名称

clear_objclear_objClearObjClearObjclear_obj — 从 HALCON 数据库中删除图标对象。

签名

clear_obj(Objects : : : )

Herror clear_obj(const Hobject Objects)

Herror T_clear_obj(const Hobject Objects)

void ClearObj(const HObject& Objects)

static void HOperatorSet.ClearObj(HObject objects)

def clear_obj(objects: HObject) -> None

描述

clear_objclear_objClearObjClearObjClearObjclear_obj 用于从 HALCON 数据库中删除不再需要的图标对象。需要注意的是,在 HALCON/C 中,clear_objclear_objClearObjClearObjClearObjclear_obj 是从数据库中删除对象并释放其内存的唯一方式。在其他所有 HALCON 语言接口中,请使用 clear_objclear_objClearObjClearObjClearObjclear_obj,因为对象会通过相应的析构函数自动销毁。

图像和区域通常会被多个图标对象同时使用(这样能节省内存!)。这意味着只有当所有使用该区域或图像的对象都被删除后,该区域或图像才会被清除。

算子 reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDbreset_obj_db 可用于重置系统并清除所有剩余的图标对象。

有关 HALCON 中可用图标对象的简要说明,请参阅 对象 一章的引言部分。

注意

关于在 HALCON/C 中使用局部变量:退出子程序时,局部变量会被删除,但 HALCON 数据库不会随之更新。若要更新数据库并释放内存,必须在退出子程序前明确从数据库中清除局部对象。

执行信息

参数

ObjectsObjectsObjectsObjectsobjectsobjects (输入对象)  object(-array) objectHObjectHObjectHObjectHobject

待删除对象。

结果

clear_objclear_objClearObjClearObjClearObjclear_obj 返回 2 (H_MSG_TRUE),当所有对象均存在于 HALCON 数据库中。如果存在无效对象(例如已被清除),则会引发异常,同时清除所有有效对象。可使用 set_check(::'~clear':)set_check("~clear")SetCheck("~clear")SetCheck("~clear")SetCheck("~clear")set_check("~clear") 算子抵制此异常的触发。当输入为空时,可设置行为通过算子 set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。

替代

reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDbreset_obj_db

另见

set_checkset_checkSetCheckSetCheckSetCheckset_check

模块

基础