Name
copy_objcopy_objCopyObjcopy_objCopyObjCopyObj — Kopieren von Bildobjekten in der HALCON-Datenbank.
void CopyObj(const HObject& Objects, HObject* ObjectsSelected, const HTuple& Index, const HTuple& NumObj)
HObject HObject::CopyObj(Hlong Index, Hlong NumObj) const
HImage HImage::CopyObj(Hlong Index, Hlong NumObj) const
HRegion HRegion::CopyObj(Hlong Index, Hlong NumObj) const
HXLD HXLD::CopyObj(Hlong Index, Hlong NumObj) const
HXLDCont HXLDCont::CopyObj(Hlong Index, Hlong NumObj) const
HXLDPoly HXLDPoly::CopyObj(Hlong Index, Hlong NumObj) const
HXLDPara HXLDPara::CopyObj(Hlong Index, Hlong NumObj) const
HXLDModPara HXLDModPara::CopyObj(Hlong Index, Hlong NumObj) const
HXLDExtPara HXLDExtPara::CopyObj(Hlong Index, Hlong NumObj) const
void HOperatorSetX.CopyObj(
[in] IHUntypedObjectX* Objects, [out] IHUntypedObjectX** ObjectsSelected, [in] VARIANT Index, [in] VARIANT NumObj)
IHImageX* HImageX.CopyObj(
[in] Hlong Index, [in] Hlong NumObj)
IHRegionX* HRegionX.CopyObj(
[in] Hlong Index, [in] Hlong NumObj)
IHUntypedObjectX* HUntypedObjectX.CopyObj(
[in] Hlong Index, [in] Hlong NumObj)
IHXLDContX* HXLDContX.CopyObj(
[in] Hlong Index, [in] Hlong NumObj)
IHXLDPolyX* HXLDPolyX.CopyObj(
[in] Hlong Index, [in] Hlong NumObj)
IHXLDParaX* HXLDParaX.CopyObj(
[in] Hlong Index, [in] Hlong NumObj)
IHXLDModParaX* HXLDModParaX.CopyObj(
[in] Hlong Index, [in] Hlong NumObj)
IHXLDExtParaX* HXLDExtParaX.CopyObj(
[in] Hlong Index, [in] Hlong NumObj)
static void HOperatorSet.CopyObj(HObject objects, out HObject objectsSelected, HTuple index, HTuple numObj)
HObject HObject.CopyObj(int index, int numObj)
HImage HImage.CopyObj(int index, int numObj)
HRegion HRegion.CopyObj(int index, int numObj)
HXLD HXLD.CopyObj(int index, int numObj)
HXLDCont HXLDCont.CopyObj(int index, int numObj)
HXLDPoly HXLDPoly.CopyObj(int index, int numObj)
HXLDPara HXLDPara.CopyObj(int index, int numObj)
HXLDModPara HXLDModPara.CopyObj(int index, int numObj)
HXLDExtPara HXLDExtPara.CopyObj(int index, int numObj)
copy_objcopy_objCopyObjcopy_objCopyObjCopyObj kopiert NumObjNumObjNumObjNumObjNumObjnumObj Bildobjekte ab
Position IndexIndexIndexIndexIndexindex (beginnend mit 1) aus dem Tupel von
Eingabeobjekten in ObjectsObjectsObjectsObjectsObjectsobjects. Das resultierende Tupel von
Ausgabeobjekten wird in ObjectsSelectedObjectsSelectedObjectsSelectedObjectsSelectedObjectsSelectedobjectsSelected abgelegt. Wird
für NumObjNumObjNumObjNumObjNumObjnumObj der Wert -1 verwendet, dann werden alle
Objekte ab IndexIndexIndexIndexIndexindex kopiert. Beim Kopieren werden die
Region und die Bilder nicht dupliziert. Es werden neue Objekte
angelegt, die Verweise auf die Regionen und Bilder enthalten. Die
Anzahl von Objekten in einem Tupel kann mit count_objcount_objCountObjcount_objCountObjCountObj
abgefragt werden.
- Unterstützt Objekte auf Compute Devices.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Objekte, die kopiert werden sollen.
Ab dieser Position in dem Tupel Object werden
Bildobjekte kopiert.
Defaultwert: 1
Wertevorschläge: 1, 2, 3, 4, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000
Typischer Wertebereich: 1
≤
Index
Index
Index
Index
Index
index
Restriktion: Index <= number(Objects)
Anzahl der zu kopierenden Bildobjekte oder -1.
Defaultwert: 1
Wertevorschläge: -1, 1, 2, 3, 4, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000
Typischer Wertebereich: -1
≤
NumObj
NumObj
NumObj
NumObj
NumObj
numObj
Restriktion: NumObj + Index - 1 <= number(Objects) && NumObj != 0
gen_circle (Circles, [100,200,400], [200,100,400], [100,100,50])
copy_obj (Circles, CircleCopy, 2, 3)
erosion_circle (CircleCopy, CircleErosion, 15.5)
dev_set_color ('red')
dev_set_draw ('fill')
dev_display(Circles)
dev_set_color ('white')
dev_set_draw ('margin')
dev_display (CircleCopy)
dev_set_color ('green')
dev_display (CircleErosion)
/* Access all regions */
count_obj(Regions,&Num);
for (i=1; i<=Num; i++);
{
copy_obj(Regions,&Single,i,1);
T_get_region_polygon(Single,5.0,&Row,&Column);
T_disp_polygon(WindowHandleTuple,Row,Column);
destroy_tuple(Row);
destroy_tuple(Column);
clear_obj(Single);
}
gen_circle (Circles, [100,200,400], [200,100,400], [100,100,50])
copy_obj (Circles, CircleCopy, 2, 3)
erosion_circle (CircleCopy, CircleErosion, 15.5)
dev_set_color ('red')
dev_set_draw ('fill')
dev_display(Circles)
dev_set_color ('white')
dev_set_draw ('margin')
dev_display (CircleCopy)
dev_set_color ('green')
dev_display (CircleErosion)
gen_circle (Circles, [100,200,400], [200,100,400], [100,100,50])
copy_obj (Circles, CircleCopy, 2, 3)
erosion_circle (CircleCopy, CircleErosion, 15.5)
dev_set_color ('red')
dev_set_draw ('fill')
dev_display(Circles)
dev_set_color ('white')
dev_set_draw ('margin')
dev_display (CircleCopy)
dev_set_color ('green')
dev_display (CircleErosion)
gen_circle (Circles, [100,200,400], [200,100,400], [100,100,50])
copy_obj (Circles, CircleCopy, 2, 3)
erosion_circle (CircleCopy, CircleErosion, 15.5)
dev_set_color ('red')
dev_set_draw ('fill')
dev_display(Circles)
dev_set_color ('white')
dev_set_draw ('margin')
dev_display (CircleCopy)
dev_set_color ('green')
dev_display (CircleErosion)
gen_circle (Circles, [100,200,400], [200,100,400], [100,100,50])
copy_obj (Circles, CircleCopy, 2, 3)
erosion_circle (CircleCopy, CircleErosion, 15.5)
dev_set_color ('red')
dev_set_draw ('fill')
dev_display(Circles)
dev_set_color ('white')
dev_set_draw ('margin')
dev_display (CircleCopy)
dev_set_color ('green')
dev_display (CircleErosion)
Laufzeitkomplexität: O(|ObjectsObjectsObjectsObjectsObjectsobjects| + NumObjNumObjNumObjNumObjNumObjnumObj);
Speicherkomplexität der Ausgabedaten: O(NumObjNumObjNumObjNumObjNumObjnumObj)
Sind die Surrogate korrekt, d.h. alle Objekte in der
HALCON-Datenbank vorhanden und die Parameter korrekt, dann liefert
copy_objcopy_objCopyObjcopy_objCopyObjCopyObj den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer
Eingabe (keine Eingabeobjekte vorhanden) lässt sich mittels
set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
count_objcount_objCountObjcount_objCountObjCountObj
select_objselect_objSelectObjselect_objSelectObjSelectObj
count_objcount_objCountObjcount_objCountObjCountObj,
concat_objconcat_objConcatObjconcat_objConcatObjConcatObj,
obj_to_integerobj_to_integerObjToIntegerobj_to_integerObjToIntegerObjToInteger,
copy_imagecopy_imageCopyImagecopy_imageCopyImageCopyImage
Foundation