set_dict_objectT_set_dict_objectSetDictObjectSetDictObjectset_dict_object (算子)

名称

set_dict_objectT_set_dict_objectSetDictObjectSetDictObjectset_dict_object — 将键/对象对添加到字典中。

签名

set_dict_object(Object : : DictHandle, Key : )

Herror T_set_dict_object(const Hobject Object, const Htuple DictHandle, const Htuple Key)

void SetDictObject(const HObject& Object, const HTuple& DictHandle, const HTuple& Key)

void HDict::SetDictObject(const HObject& Object, const HTuple& Key) const

void HDict::SetDictObject(const HObject& Object, const HString& Key) const

void HDict::SetDictObject(const HObject& Object, const char* Key) const

void HDict::SetDictObject(const HObject& Object, const wchar_t* Key) const   ( Windows only)

static void HOperatorSet.SetDictObject(HObject objectVal, HTuple dictHandle, HTuple key)

void HDict.SetDictObject(HObject objectVal, HTuple key)

void HDict.SetDictObject(HObject objectVal, string key)

def set_dict_object(object: HObject, dict_handle: HHandle, key: Union[str, int]) -> None

描述

set_dict_objectset_dict_objectSetDictObjectSetDictObjectSetDictObjectset_dict_object stores an object associated with a key in the dictionary. The dictionary is denoted by the DictHandleDictHandleDictHandleDictHandledictHandledict_handle parameter.

ObjectObjectObjectObjectobjectValobject is copied by the operation and can thus be immediately reused. Thereby the object data is copied in HALCON's object database, meaning the new object contains a reference to ObjectObjectObjectObjectobjectValobject, see copy_objcopy_objCopyObjCopyObjCopyObjcopy_obj

Both an empty object or an object tuple are considered as a valid value that can be associated with the key. If any data (tuple or object) was already associated with given key (KeyKeyKeyKeykeykey), the old data is destroyed by set_dict_objectset_dict_objectSetDictObjectSetDictObjectSetDictObjectset_dict_object and replaced by ObjectObjectObjectObjectobjectValobject

The KeyKeyKeyKeykeykey has to be a string or an integer. Strings are treated case sensitive.

The object data for the given key can be retrieved again from the dictionary using get_dict_objectget_dict_objectGetDictObjectGetDictObjectGetDictObjectget_dict_object

执行信息

此算子修改后续输入参数的状态:

在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。

参数

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

Object to be associated with the key.

DictHandleDictHandleDictHandleDictHandledictHandledict_handle (输入控制,状态被修改)  dict HDict, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Dictionary handle.

元素数量: DictHandle == 1

KeyKeyKeyKeykeykey (输入控制)  string HTupleUnion[str, int]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Key string.

元素数量: Key == 1

限制: length(Key) > 0

示例(HDevelop)

create_dict (Dict)
read_image (Image, 'filename')
set_dict_object (Image, Dict, 'my_image')

结果

If the operation succeeds, set_dict_tupleset_dict_tupleSetDictTupleSetDictTupleSetDictTupleset_dict_tuple 返回 2 ( H_MSG_TRUE )。否则将抛出异常。 Possible error conditions include invalid parameters (handle or key) or resource allocation error.

可能的前趋

create_dictcreate_dictCreateDictCreateDictCreateDictcreate_dict

可能的后继

set_dict_objectset_dict_objectSetDictObjectSetDictObjectSetDictObjectset_dict_object, set_dict_tupleset_dict_tupleSetDictTupleSetDictTupleSetDictTupleset_dict_tuple

替代

set_dict_tupleset_dict_tupleSetDictTupleSetDictTupleSetDictTupleset_dict_tuple

另见

create_dictcreate_dictCreateDictCreateDictCreateDictcreate_dict, set_dict_tupleset_dict_tupleSetDictTupleSetDictTupleSetDictTupleset_dict_tuple, get_dict_tupleget_dict_tupleGetDictTupleGetDictTupleGetDictTupleget_dict_tuple, get_dict_objectget_dict_objectGetDictObjectGetDictObjectGetDictObjectget_dict_object, remove_dict_keyremove_dict_keyRemoveDictKeyRemoveDictKeyRemoveDictKeyremove_dict_key, get_dict_paramget_dict_paramGetDictParamGetDictParamGetDictParamget_dict_param

模块

基础