QT 配置halcon 保证百分之百成功 详细保姆教程

3 篇文章 1 订阅

下载程序

关于QT配置halcon,一个原则就是要使用msvc版本的QT才能成功。博主这里使用的是QT6加vs2019。其他的版本也是一样的,只要QT和vs版本对应就行了。

首先下载vs2019 ,下载地址

关于安装vs2019,可以看这篇博文,传送门

然后就是安装QT6了。关于安装QT6,需要一个QT账户,去QT官网注册一个就行了。

详细安装教程可以看这篇博文,需要注意的是,在安装选项的时候,要选择安装QT5 兼容模块,和选择安装msvc2019,

安装和下载的,传送门

配置环境

两个程序都下载好后,打开QT,选择工具,选项

如果你的界面如下,说明软件编译环境配置正常了。

下面开始配置halcon

首先在你项目的pro文件下添加如下代码,

为了防止你们输错,我粘贴下来

greaterThan(QT_MAJOR_VERSION,5): QT += core5compat
CONFIG += c++11

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
INCLUDEPATH += $$PWD/include/halcon19X64
INCLUDEPATH += $$PWD/include/halcon19X64/halconcpp

DEPENDPATH += $$PWD/include/halcon19X64
DEPENDPATH += $$PWD/include/halcon19X64/halconcpp

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

上面的步骤其实是引入头文件和动态连接库

现在去你的项目目录下新建两个文件,一个是include,一个是lib,在两个文件下再新建一个叫halcon19X64的文件。

然后去你的halcon安装目录下拷贝东西过来

1.将halcon中的include文件下的所有文件全部拷贝到项目目录下的include/halcon19X

64下(为了防止出错,全部拷贝最好,博主没有全部拷贝),关系是include/halcon19X64/你拷贝的文件

2.拷贝halcon目录下的lib\x64-win64中的两个动态halcon.lib和halconcpp.lib到项目目录下lib\halcon19X64\你拷贝的文件

还需要拷贝下面目录下的两个文件halcon.dll和halconcpp.dll到项目目录下lib\halcon19X64\你拷贝的文件

测试

然后就配置好了,引入头文件和命名空间

如果报错,就去目录下删除这三个文件再重新执行。

然后在项目界面添加一个graphicsView控件和一个按钮。

测试代码如下:

头文件

.cpp文件

#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QTextCodec>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{

    //启用本地编码文件
    QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
    ui->setupUi(this);
    //绑定窗口
    Hlong WindID = (Hlong)this->ui->graphicsView->winId();//将视图窗口iD转换类型
    //将halcon窗口绑定在graphicsView上,并以后用hv_WindowHandle来显示
    OpenWindow(0,0,ui->graphicsView->width(),ui->graphicsView->height(),WindID,"visible","",&hv_WindowHandle);


}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_clicked()
{
    HTuple finalpath;
    QString path = QFileDialog::getOpenFileName(this,"select image","","(*.png *.jpg)");//选择图片
    if(path=="")
    {
        return;
    }
    else
    {
        finalpath = HTuple(path.toLatin1().data());//转换路径格式
        ReadImage(&ho_Image,finalpath);//读取图片
        GetImageSize(ho_Image, &hv_Width, &hv_Height);//获取图片宽高
        SetPart(hv_WindowHandle,0,0,hv_Height,hv_Width);//自适应显示
        ClearWindow(hv_WindowHandle);//清空窗口
        DispObj(ho_Image,hv_WindowHandle);//显示图片
    }

}

结尾

如果有什么问题,欢迎留言,看到了我就回帮你解决的,请点赞。

  • 17
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

猪猪派对

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值