[捂脸]这个实现是真的很小众。
Halcon作为一个机器视觉领域的家喻户晓的工具,包含了非常多的算子,在工程中使用起来是非常方便的。但是一些更学术的功能,或是一些开源的前沿算法,Halcon中是不具有的,这时OpenCV可能是更适合的解决方案。
这篇博客记录了我将Python代码中的函数返回的Numpy数组转化为Halcon.Net的HImage变量的方法。
1. Python代码编写。这一步没有什么特殊的,就是常规的一个Python函数,返回值是一个Numpy对象。
2. C#调用Python函数。这一步可以参考我的这篇博客:C#调用Python的函数(编译为pyd,避免源码泄露)-CSDN博客
3. 将Numpy对象转换为HImage:
private void SharpenImage(out HImage image){using (Py.GIL()){dynamic np = Py.Import("durand_22");var dd = np.SharpenImage(imagePath);IntPtr ptr = new IntPtr((long)dd.__array_interface__["data"][0]);HOperatorSet.GenImage1(out HObject tempImage, "uint2", 640, 640, ptr);image = new HImage(tempImage);}}