ljx_lqm
工程师
工程师
  • 最后登录2023-02-01
  • 发帖数217
  • 金币2869枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:436回复:2

关于Halcon的3D联合开发编程语言和工具的选择(仅参考)

楼主#
更多 发布于:2022-12-03 00:15
在逐步学习和熟悉了Halcon 2D 联合 C#的开发后,根据业务需求,后续需要学习和掌握3D有关算子和联合开发,以满足三维场景的测量,定位,引导等应用。


目前根据大量找寻案例和参考资料,也请教了同行朋友,我后面选择 visualstudio2019 + qt5.x + halcon20.11的组合,来进行3D算子的联合开发


个人在编程语言方面,之前C#使用多一些,C++在过去项目中有少量使用,以前学习C++的时候,也了解一些STL模板编程和Boost库,只能说皮毛的皮毛。因此刚接触Halcon联合开发的时候,优先考虑C#,2D的开发使用Winform,对于新人来说上手比较快,.NET的调试比较友好。在3D方面,自然开始也想尽可能使用C#去开发,最近几天,发现主要的卡点还是在3D显示方面。


相关资料查询如下:
halcon的安装目录中,找到了3D的解决方案指导书

描述:01

图片:01.png

01

翻到显示的章节,其中有一段注意点描述

描述:02

图片:02.png

02




上图中,画红色框中,有这么一段提示说明:Note that the visualization of 3D object models requires OpenGL 2.1, GLSL 1.2, and the OpenGL extensions GL_EXT_framebuffer_object and GL_EXT_framebuffer_blit.

官方文档中,提到需要OpenGL等技术的支持,查询官网地址:http://www.opengl.org/
该网站的更新比较慢,最新的信息还在2021年,感觉不怎么更新了,底层的实现本身基于C/C++,相关的案例,更多的是C++的语言,与C#有关的第三方开源库,比如SharpGL、CsGL、OpenTK、Tao框架等也是基本在C++上做封装,撇开性能先不谈,关键和Halcon 3D显示的算子(disp_object_model_3d,visualize_object_model_3d,display_scene_3d)开发结合的案例太少,也没有那么多时间一个个开源库去尝试,毕竟自己是应用开发。


到此,个人基本上不太会优先考虑3D方面使用C#了,尤其是winform在3D方面,如果以后有充足的时间,可以用WPF尝试,或许会好许多,相关的3D控件支持方面比winform丰富。好在C++语言方面,并不是从0开始,加上QT的信号槽机制也是不错的。同时综合考虑以后,与开源Opencv,PCL的兼容和横向扩展,以及Linux系统的环境迁移的可能性,那就选择c++语言进行联合开发吧~


这里补充一下,winform不是绝对不能进行3D的显示,比如可以考虑使用VTK控件,这里只是我个人能力和时间有限,后面如果有资深朋友或者前辈对这方面的开发,也会认真学习和参考~

最后,visualstudio2019 + qt5.x + halcon20.11的环境搭建方面,网上资料很多,也有不少资深朋友和前辈做了笔记,我也分享一两个总结的比较全面一些的:


https://blog.csdn.net/weixin_42115081/article/details/107533947
https://blog.csdn.net/weixin_42115081/article/details/107540832
https://blog.csdn.net/weixin_42115081/article/details/107541571
这三个链接属于同一个朋友总结的


https://www.auniontech.com/home/jishu-266.html
这个链接也不错


这里再次致敬和感谢同行朋友在不同平台的技术分享~~

上述观点是个人学习思考过程中的一点分享,仅供参考~难免有所偏颇,希望更多的朋友能多多交流,指导~~

后面无论是环境搭建还是qt的联合开发,会结合自己的测试,做好相关分享和学习的总结~
[ljx_lqm于2022-12-03 03:15编辑了帖子]
喜欢0

最新打赏:0人

ljx_lqm
工程师
工程师
  • 最后登录2023-02-01
  • 发帖数217
  • 金币2869枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
  • 原创写手
沙发#
发布于:2022-12-03 00:19
再次强调,上述观点是个人学习思考过程中的一点分享,仅供参考~难免有所偏颇,论坛高手如云,希望更多的朋友能多多交流,指导~~
ljx_lqm
工程师
工程师
  • 最后登录2023-02-01
  • 发帖数217
  • 金币2869枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
  • 原创写手
板凳#
发布于:2022-12-03 14:26
http://www.ihalcon.com/read-19477.html
有关VTK控件和PclCSharp库的链接,可以参考~~
游客

返回顶部
支付

欢迎打赏,请选择打赏金额

  • 1元
  • 6元
  • 10元
  • 66元
  • 100元

支付即代表同意《本站支付协议》 有疑问请联系客服