问题
Halcon导出用作C#编写的时候,出现以下问题:
无法将类型为“System.Double”的对象强制转换为类型“HalconDotNet.HTuple”。”
指向代码为:
m_Algorithm.gen_line(out outLine, ((HawkPoint)Input["Point"]).X, ((HawkPoint)Input["Point"]).Y, (HTuple)Input["Angle"], (HTuple)Input["Length"], "region");
gen_line的具体实现可看Halcon利用点、长度和角度生成直线
解决
Input[“Length”]表示是一个Object类型的数据,因此应该先转换为double数据,再转换成HTuple
实现如下:
m_Algorithm.gen_line(out outLine, ((HawkPoint)Input["Point"]).X, ((HawkPoint)Input["Point"]).Y, (HTuple)(double)Input["Angle"], (HTuple)(double)Input["Length"], "region");

文章讲述了在使用Halcon库与C#结合时遇到的问题,即如何将Object类型的Length和Angle转换为HTuple类型。提供了解决方案,即先将double类型的数据转换后再赋值给HTuple。

被折叠的 条评论
为什么被折叠?



