HObject类是halcon对有关图像的对象进行抽象而来的类

HObject类是HImage、HRegion、HXLD的基类

当VS引用了halcon的halcondotnet程序集,C#就可以看到如下关于HObject的信息:

halcon+C#类的学习(一) HObject

继承关系

继承于HObjectBase基类ISerializable接口ICloneable接口

构造方法

halcon+C#类的学习(一) HObject

    [EditorBrowsable(EditorBrowsableState.Never)]参见相关博客介绍

  1. public HObject();
  2. public HObject(IntPtr key);
  3. public HObject(HObject obj);
  4. public HObject(IntPtr key, bool copy);
  5. public HObject(SerializationInfo info, StreamingContext context);

索引器

        public HObject this[HTuple index] { get; }

方法

  1.         public static HObject Deserialize(Stream stream);
  2.         public HObject Clone();
  3.         public int CompareObj(HObject objects2, double epsilon);
  4.         public int CompareObj(HObject objects2, HTuple epsilon);
  5.         public HObject ConcatObj(HObject objects2);
  6.         public HObject CopyObj(int index, int numObj);
  7.         public int CountObj();
  8.         public void DeserializeObject(HSerializedItem serializedItemHandle);
  9.         public void DispObj(HWindow windowHandle);
  10.         public void GenEmptyObj();
  11.         public HTuple GetChannelInfo(string request, HTuple channel);
  12.         public string GetChannelInfo(string request, int channel);
  13.         public HTuple GetObjClass();
  14.         public void IntegerToObj(IntPtr surrogateTuple);
  15.         public void IntegerToObj(HTuple surrogateTuple);
  16.         public HObject ObjDiff(HObject objectsSub);
  17.         public HTuple ObjToInteger(int index, int number);
  18.         public void ReadObject(string fileName);
  19.         public HObject SelectObj(HTuple index);
  20.         public HObject SelectObj(int index);
  21.         public void Serialize(Stream stream);
  22.         public HSerializedItem SerializeObject();
  23.         public int TestEqualObj(HObject objects2);
  24.         public void WriteObject(string fileName);

                 [EditorBrowsable(EditorBrowsableState.Never)]
   25.         public static int LoadNew(IntPtr proc, int parIndex, int err, out HObject obj);
 

下面解释每条方法(不一定按顺序):

 public int CompareObj(HObject objects2, double epsilon);

参数:objects2输入要比较的HObject对象,epsilon为同一位置的像素灰度差

返回:int 类型的比较结果

描述:当前HObject对象和objects2对象比较相等性,两组HObject对象在epsilon像素灰度差差值范围内仍然认为是相等的。

例程

 

public int CompareObj(HObject objects2, HTuple epsilon);

参数:objects2输入要比较的HObject对象,epsilon为同一位置的像素灰度差数组

返回:int 类型的比较结果

描述:当前HObject对象和objects2对象比较相等性,两组HObject对象在epsilon像素灰度差差值范围内仍然认为是相等的。

例程

 

public int TestEqualObj(HObject objects2);

参数:objects2输入要比较的HObject对象

返回:int 类型的比较结果

描述:当前HObject对象和objects2对象比较相等性,即内存一致性(对于regions则只比较像素灰度是否一致)。

例程

public HObject ConcatObj(HObject objects2);

参数:输入的objects2对象,用于与当前对象连接

返回:HObject 类型的对象

描述:当前Objects1对象和Objects2的两个对象连接,并返回一个新的HObject对象。因此,这个HObject对象包含了两个                       HObject 对象,假设返回的是ObjectsConcat对象,则ObjectsConcat = [Objects1 Objects2];在ObjectsConcat对象中,               首先存储Objects1的对象,然后存储Objects2的对象。注意,只有对相应HImage和HRegion的引用才存储在                                 ObjectsConcat中,并且不分配新内存,这意味着输入图像(Objects1和Objects2)的修改,直接影响ObjectsConcat的                 图像,反之亦然。

例程

public HObject CopyObj(int index, int numObj)

参数:index输入待复制图像的起始索引,numObj为复制多少个成员

返回:HObject 类型的对象

描述:当前HObject对象index开始,复制numObj个成员,放到一个新的HObject对象并返回。

例程

public int CountObj();

参数:

返回:int类型的结果,即成员数量

描述:计算并返回当前HObject对象成员数。

例程

public void DispObj(HWindow windowHandle)

参数:windowHandle为HWindow窗体控件对象

返回:

描述:将当前HObject对象显示在HWindow窗体控件对象windowHandle上。

例程

public void GenEmptyObj();

参数:

返回:

描述:当前HObject对象设置为空,CountObj()调用将返回0。

例程

public HObject ObjDiff(HObject objectsSub);

参数:HObject 类型objectsSub对象

返回:HObject 类型的对象

描述:比较当前HObject对象和objectsSub的不同,并返回不同之处的集合HObject对象。

例程

public void WriteObject(string fileName);

参数:string 类型fileName,生成的HOBJ二进制文件名

返回:

描述:当前HObject对象写成HOBJ二进制文件,文件名为fileName。

例程

public void ReadObject(string fileName);

参数:string 类型fileName,

返回:

描述:读取文件名为fileName的HOBJ二进制文件到当前的HObject对象。

例程

public HSerializedItem SerializeObject();

参数:

返回:HSerializedItem 类型

描述:

例程

public static HObject Deserialize(Stream stream);

参数:Stream 类型

返回:HObject 类型的对象

描述:反序列化stream并返回HObject类型的对象;

例程

public void Serialize(Stream stream);

参数:Stream 类型

返回:

描述:

例程

public HTuple GetChannelInfo(string request, HTuple channel);

参数:request ,int 类型的channel表示...

返回:HTuple 类型 

描述:

例程

public string GetChannelInfo(string request, int channel);

参数:request ,int 类型的channel参数表示...

返回:string 类型

描述:

例程

public void IntegerToObj(IntPtr surrogateTuple);

参数:IntPtr 类型的surrogateTuple参数表示...

返回:

描述:

例程

 

public void IntegerToObj(HTuple surrogateTuple);

参数:HTuple 类型的surrogateTuple参数表示...

返回:

描述:

例程

public HTuple ObjToInteger(int index, int number);

参数:HTuple 类型的surrogateTuple参数表示...

返回:

描述:

例程

 public HObject Clone();

参数:

返回:HObject 类型

描述:

例程

下面为halcon帮助文档里的描述:

halcon+C#类的学习(一) HObject

未完待续...

 

相关文章: