1:QT联合Halcon编程—窗口显示

一、QT准备

1、创建QT带UI的文件

2、添加按钮界面,运行

显示窗口名字为:

普通按钮名字为:

3、添加Halcon的库文件

bin文件夹里面尽量全部包含(主要是:halcon.dll    halconcpp.dll  这两个文件)放入QT文件夹里面的realse文件下。

include文件夹里面全部复制粘贴到QT下面的include文件里面(自己创建文件夹)

lib文件夹里面的(halcon.lib  halconcpp.lib)这两个文件复制粘贴到QT下的lib文件里面

4、在.pro工程文件中包含库目录

根据自己需要调整路径

INCLUDEPATH += $$PWD/include/halcon
INCLUDEPATH += $$PWD/include/halcon/halconcpp

LIBS += -L$$PWD/lib/halcon -lhalcon
LIBS += -L$$PWD/lib/halcon -lhalconcpp

5、添加头文件

在.h文件里面添加halcon头文件

#include <HalconCpp.h>
using namespace HalconCpp;

6.QT绑定Halcon窗口

1.此时一定要声明全局变量窗口 (注意注意注意:如果声明了全局变量窗口,则此后每个函数里面声明的局部窗口可以删除,要不然会卡死)

HTuple hv_WindowHandle;

2.如果其它类也需要使用次窗口,添加此声明
extern HTuple hv_WindowHandle;

//获取QT窗口ID
Hlong windIDDepth=this->ui->gvDepthMap->winId();
//声明halcon变量
HTuple  hv_Width, hv_Height;
//把QT窗口的长宽取出来
hv_Width=ui->gvDepthMap->width();
hv_Height=ui->gvDepthMap->height();
//打开halcon窗口
OpenWindow(0,0,hv_Width,hv_Height,windIDDepth,"visible","",&hv_WindowHandle);

二:Halcon准备

1.编写halcon显示程序

*读图
read_image(Image, '1')
*获取图像大小
get_image_size(Image, Width, Height)
*打开窗口(这一步就是上面绑定QT窗口的打开窗口)
dev_open_window(0, 0, Width,Height,'black',WindowHandle)
*使图像合适窗口大小打开
dev_set_part(0, 0,Height, Width)
*显示图像
dev_display(Image)

2.导出C++语言

3.找到action函数,把里面的程序复制粘贴到对应的QT按钮下的槽函数里面

4、调试运行


三、额外算法联合编程

如果有其它额外算法需要实现特定的功能,则可以在QT的此文件下,再次添加一个带QT界面设计师的类(此方法可以使程序更加有条理,阅读清晰)

1.在QT的主程序中添加包含此类头文件

2.然后在此类的UI界面上创建按钮

3.在主程序的.h(头文件)中声明实例化此类

LocateCircle *m_pLocateCircle;

把此类的UI界面添加到主界面上

 m_pLocateCircle=NULL;
 m_pLocateCircle=new  LocateCircle();
 ui->mainTab->addTab(m_pLocateCircle,QString::fromLocal8Bit("添加功能的标题"));

4.完成两个界面的合并

若以打开文件的形式去读图图像

    HTuple  hv_Row1, hv_Column1, hv_Radius;



    //传入路径
    QString path = QFileDialog::getOpenFileName(this,"选择图片","","JPG文件(*.jpg;*.bmp)");
    if(path == "") return;
    //读图
    HTuple file2=HTuple(path.toStdString().c_str());
    ReadImage(&ho_Image,file2);





   //直径读取图像
   // ReadImage(&ho_Image, "./data/1");





    //图像处理算法
    GenCircleCenterFromBlob(ho_Image, &hv_Row1, &hv_Column1, &hv_Radius);

 已经看到这里了,不妨点个赞和关注吧!

      刚开始写文章,如有不足请多多包含;之后会持续更新关于(halcon学习,VS联合编程,QT联合编程,C++,C#,Opencv图像处理库,三维点云库pcl,相机以及机器人的二次开发)等系统化学习文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值