QT/C++下使用halcon显示点云

1 篇文章 0 订阅
1 篇文章 0 订阅

在QT下调用halcon显示点云时,遇到以下几个问题:

1、首先是无法将halcon窗口嵌入到自己设计的窗口中,如QLable,QWidget等;

void CHWindow::openNewWindow(QWidget *widget)
{
    int halcon_winId = widget->winId();
    int winWidth = widget->width();
    int winHeight = widget->height();
    
    SetWindowAttr("background_color","dim gray");
    OpenWindow(0,0, winWidth,winHeight,     halcon_winId,"visible","",&m_hv_WindowHandle);
    HDevWindowStack::Push(m_hv_WindowHandle);

    if (HDevWindowStack::IsOpen())
        SetDraw(m_hv_WindowHandle,"margin");
    if (HDevWindowStack::IsOpen())
        SetColor(m_hv_WindowHandle,"blue");
    if (HDevWindowStack::IsOpen())
        SetLineWidth(m_hv_WindowHandle,2);
}

2、显示点云图后右下角有一个continue按钮,想办法隐藏显示后,点击右下角位置仍有效执行continue操作等;

dump_image_output(ho_Image, hv_WindowHandleBuffer, hv_Scene3D, hv_AlphaOrig,
        hv_ObjectModel3D, hv_GenParamName, hv_GenParamValue, hv_CamParam, hv_Poses,
        hv_ColorImage, hv_Title, HTuple(), hv_Label, 0, "false", hv_TrackballCenterRow,
        hv_TrackballCenterCol, hv_TBSize, hv_SelectedObject, hv_WindowCenteredRotation,
        hv_TBCenter);

3、点云图鼠标拖动旋转界面更新卡顿,影响操作体验等;加入QCoreApplication::processEvents(); 即可解决

4、多组点云数据显示时,中间切换响应较慢等;

经过一系列调试后以上问题均已得到解决,供参考: 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值