Halcon与QT的联合编程(1)

本文档详细介绍了如何将Halcon机器视觉算法与QT进行联合编程,包括Halcon代码的封装、导出,以及在QT环境中创建工程并集成Halcon的功能。从QT工程的建立、添加库文件,到图形界面元素的布局,最后实现Halcon代码在QT界面中的运行,为读者提供了一步步的操作指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、halcon代码的封装

2、halcon代码的导出

3、halcon与QT联合编程

3.1、QT工程建立

 3.2、qt与halcon联合


1、halcon代码的封装

在对代码进行封装的时候,你一定要考虑你的输入输出是什么?

输入:图像

输出:点、矩形、2个数字。(点和矩形是为了展示给客户看的)

步骤:

(1)首先选中要封装的代码,右键创建一个新函数,进入如下界面:

一般文档里面你也可以进行描述一下信息。

初学者暂时只需要选择本地程序函数即可,下边的库函数和函数文件,就是自己定义的可以一直用他一直存在。但是本地函数他是本地的,只存在这个项目中。

图中箭头的进出分别表示参数的输入与输出。

(2)点击应用就会完成函数的封装。

<
### Halcon 导出 Demo 示例代码教程 #### C# 中集成 Halcon 进行图像处理并导出 Demo 的基本流程 为了创建一个可以展示图像反转功能的简单 C# 应用程序,首先需要安装 HALCON .NET 接口。这可以通过 NuGet 包管理器完成[^1]。 ```csharp using System; using HDevEngine; class Program { static void Main(string[] args) { // 创建一个新的HDevEngine实例用于执行HALCON算子 using (var engine = new HDevProcedure()) { // 加载一张测试图片到内存中 engine.SetImage("example_image"); // 执行图像反转操作 engine.RunCode(@"invert_image(Image, InvertedImage)"); // 将结果保存至文件系统指定路径下 string outputPath = @"C:\output\inverted_example.bmp"; engine.SaveImage(outputPath); Console.WriteLine($"已成功将反相后的图像保存到了 {outputPath}"); } } } ``` 这段代码展示了如何利用 `HDevEngine` 类加载原始图像、运行图像反转命令并将最终的结果存储为新的位图文件。 对于更复杂的案例,比如想要把 QtHalcon 结合起来做图形界面开发,则可以在Qt项目里引入halcon库之后,使用如下方式读取halcon窗口内的当前显示内容: ```cpp // 假设 ho_Image 是已经存在的Halicon对象句柄 HObject ho_Image; Hlong width, height; byte* buffer; ho_Image.GetImagePointer1(&buffer, &width, &height); QImage img(buffer, width, height, QImage::Format_RGB888); ui->label->setPixmap(QPixmap::fromImage(img)); ``` 此段代码实现了从 halcon 获取图像数据指针,并将其转换成适合 qt 显示的形式[^2]。 当涉及到 MFC 或者其他框架时,同样遵循类似的逻辑去初始化 halcon 环境变量,设置好编译选项后就可以正常调用 halcon API 完成各种图像处理任务了[^3]。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Upupup6

写手不易请留下你的打赏鼓励谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值