爱炸薯条的小朋友 2021-11-19 14:26 采纳率: 100%
浏览 48
已结题

在vs2013的qt项目运行halcon的程序出现中断的错误

问题相关代码,请勿粘贴截图

.h

#ifndef REG_H
#define REG_H
#  include "HalconCpp.h"
#  include "HDevThread.h"
#include <qgridlayout.h>
#include <QHBoxLayout>
#include <qpushbutton.h>
#include <QtWidgets/QWidget>
#include <qlabel.h>
using namespace HalconCpp;
class reg : public QWidget
{
    Q_OBJECT

public:
    reg(QWidget *parent = Q_NULLPTR);
    ~reg();
    HObject  ho_Image, ho_GrayImage, ho_ImageChannel2;
    HObject  ho_Regions, ho_RegionOpening, ho_ConnectedRegions;
    HTuple  hv_Number, hv_WindowHandle;
private slots:
    /*void start();
    void sum();*/
private:
    QLabel *label;
    
};

#endif // REG_H

main.cpp

#include "reg.h"
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    reg w;
    w.setWindowTitle(QString::fromLocal8Bit("测试程序"));
    w.show();
    return a.exec();
}

.cpp

#include "reg.h"

reg::reg(QWidget *parent)
    : QWidget(parent)
{
    /*QGridLayout *gridLayout = new QGridLayout(this);
    gridLayout->setSpacing(100);
    gridLayout->setSpacing(150);*/
    QHBoxLayout *vLayout_1 = new QHBoxLayout;
    QPushButton *btn_1 = new QPushButton(QStringLiteral("读图"));
    QPushButton *btn_2 = new QPushButton(QStringLiteral("计数"));
    label = new QLabel(QStringLiteral("计数"));
    vLayout_1->addWidget(label);
    vLayout_1->addWidget(btn_1);
    vLayout_1->addWidget(btn_2);
    connect(btn_1, &QPushButton::clicked, this, [=]()
    {
        if (HDevWindowStack::IsOpen())
            CloseWindow(HDevWindowStack::Pop());
        SetWindowAttr("background_color", "black");
        OpenWindow(0, 0, 512, 512, 0, "visible", "", &hv_WindowHandle);
        HDevWindowStack::Push(hv_WindowHandle);
        ReadImage(&ho_Image, "D:/shijue/2gepinggai.png");
        Rgb1ToGray(ho_Image, &ho_GrayImage);
        if (HDevWindowStack::IsOpen())
            DispObj(ho_GrayImage, HDevWindowStack::GetActive());
        AccessChannel(ho_Image, &ho_ImageChannel2, 2);
        Threshold(ho_ImageChannel2, &ho_Regions, 154, 255);
        if (HDevWindowStack::IsOpen())
            DispObj(ho_Regions, HDevWindowStack::GetActive());
        OpeningCircle(ho_Regions, &ho_RegionOpening, 9);
        if (HDevWindowStack::IsOpen())
            DispObj(ho_RegionOpening, HDevWindowStack::GetActive());
        Connection(ho_RegionOpening, &ho_ConnectedRegions);
        CountObj(ho_ConnectedRegions, &hv_Number);
        if (HDevWindowStack::IsOpen())
            DispObj(ho_ConnectedRegions, HDevWindowStack::GetActive());
    });
    connect(btn_2, &QPushButton::clicked, this, [=]()
    {
        Connection(ho_RegionOpening, &ho_ConnectedRegions);
        CountObj(ho_ConnectedRegions, &hv_Number);
        if (HDevWindowStack::IsOpen())
            DispObj(ho_ConnectedRegions, HDevWindowStack::GetActive());
    });
    this->setLayout(vLayout_1);
}
reg::~reg()
{
}
运行结果及报错内容

img


vs的配置

img

img

我想要达到的结果

为什么我运行就会中断错误

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月27日
    • 创建了问题 11月19日

    悬赏问题

    • ¥200 基于同花顺supermind的量化策略脚本编辑
    • ¥20 Html备忘录页面制作
    • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
    • ¥20 数学建模来解决我这个问题
    • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
    • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
    • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
    • ¥30 NIRfast软件使用指导
    • ¥20 matlab仿真问题,求功率谱密度
    • ¥15 求micropython modbus-RTU 从机的代码或库?