C# Halcon混合编程中遇到的问题

Posted yutou2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Halcon混合编程中遇到的问题相关的知识,希望对你有一定的参考价值。

  1. 目标平台
    安装64位的halcon的情况下,目标平台必须使用x64而不能使用x86

  2. 目标框架
    不能使用.Net Framework Client版本,有一些必须的程序集会缺失,测试使用.Net Framework 4.0能够正常。

  3. HObject 和 C#中的对象的互相转换问题。
    在混合编程中,这个应该是一个大问题,我之前之所以一直没有意识到这个问题,是因为虽然说我在做混合编程,但是实际上我只是在C#的环境中用一些halcon中的算子玩了一下,
    在wpf中的图像显示使用的也是halcon提供的控件。
    当前我所遇到的问题是HObject 和 BitmapImage的转换问题,我在wpf中使用了一个Image控件,Source应该是ImageSource类型的。
    根据网上的资料来看,这个过程可能涉及到两个转换:HObject转换为Bitmap,Bitmap转换为ImageSource。
    在不考虑耗时且确实有保存图片的需求的情况下,找了一个规避类型转换的方法:将HObject类型的图片保存下来,再读取成ImageSource。
    但是在考虑耗时的问题且不需要保存图片的情况下,文件的读写估计是低效的,必须找一个可以转换的方法。
    参考文档:https://blog.csdn.net/qq_20161893/article/details/78580036
    https://blog.csdn.net/jiuzaizuotian2014/article/details/81279423
    https://codeday.me/bug/20180824/228349.html
    https://docs.microsoft.com/en-us/dotnet/api/system.drawing.bitmap.gethbitmap?view=netframework-4.8

    测试过程中遇到点问题,转换成Bitmap的时候间或出现内存被破坏的问题,具体处理方式还要再找找再想想。unsafe用的也不是很愉快。

以上是关于C# Halcon混合编程中遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

解决问题1:可以从桌面显示到FORM MFC/HALCON混合编程系列一_打开图像_简单处理_

VS2015_Qt5_Halcon混合编程

C#联合halcon开发框架源码。 拖拽式编程,无halcon基础也能上手,匹配

相机SDK开发

最新 VS2008 和 MatlabR2015a 混合编程

VS2008 和 MatlabR2015a 混合编程