[捂脸]这个实现是真的很小众。

        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);
            }
        }

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐