3d激光雷达开发(从halcon看点云pcl库)

Posted 费晓行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3d激光雷达开发(从halcon看点云pcl库)相关的知识,希望对你有一定的参考价值。

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        做点云开发的,很少有不知道pcl库的,这一点就有点像做数字图像处理的,很少有不知道opencv的一样。然而在工业视觉,或者是实际生产中,另外一些专业软件,比如halcon、vision pro 的使用其实更广泛一些。从这一点来说,如果需要让3d点云软件被更多的普通人接受,需要在下面三个地方进行重点着墨。

1、更简单易用的UI界面、操作界面

        这部分就有点类似于dos和window的区别。dos使用再方便,那也是专业人员的工具。如果不是专门的计算机人员,很难记得住那么多的处理命令。同样,对于点云软件也是一样。好用的3d点云软件,必须是所见即所得的、可以单步调试、马上可以看到调试结果的那一种。

        比如上面的条码识别,运行图片、运行结果、单步调试,这些都可以在halcon上面直接得到。如果大家使用opencv的话,就需要编写各种代码、做各种打印后,才能判断最后的结果是不是自己想要的那个,无法做到所见即所得这种。

2、极其丰富的行业应用示例

        halcon软件不仅好用、易用,本身还提供了极其丰富的行业demo case。就算是初学者,也可以在这个软件里面找到属于自己的合适算子。通过图片、代码和图像,学习起来还是不算太复杂的。当然也许这需要一定的数字图像背景,但作为入门来说还是非常容易的。

3、跟上时代的深度学习

        深度学习虽然有些时候不太好解释,但是效果确实很好,这一点在民用、工业上都有一定的市场。这方面,像halcon、vision pro软件也开始慢慢提供一些深度学习工具,比如ocr的自我训练,模型生成等等,这方面还是挺不错的。像pcl库,建议后面也可以慢慢添加一些深度学习的库来进行点云数据的处理,也许会有意外的收获。

其他:

        当然,halcon这些商业软件还有很多的优点,比如说可以自动生成c、c#语言,脚本编写很容易,函数算子可以快速查找等等。这方面都是值得大力借鉴的。对于刚刚走出校门的同学来说,不需要鄙视和看不起这些商业软件,反而应该从这个上面寻找自己的不足,积极、努力地将所看和所学用到实际的生产生活中,形成正反馈,这样才会越干越有劲,越学越有滋味。

        最后补上barcode的halcon识别代码,供大家参考

* Read defect bar codes of type EAN-13.
* Even though these bar codes seem challenging,
* they can be read without adjusting any parameters.
* 
create_bar_code_model ([], [], BarCodeHandle)
CodeType := 'EAN-13'
* 
dev_close_window ()
dev_open_window (0, 0, 640, 480, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_color ('green')
dev_set_draw ('margin')
dev_set_line_width (3)
* 
for I := 1 to 10 by 1
    read_image (Image, 'barcode/ean13/ean13_defect_' + (I$'.2'))
    dev_resize_window_fit_image (Image, 0, 0, -1, -1)
    find_bar_code (Image, SymbolRegions, BarCodeHandle, CodeType, DecodedDataStrings)
    area_center (SymbolRegions, Area, Row, Column)
    dev_display (Image)
    dev_display (SymbolRegions)
    dev_disp_text (DecodedDataStrings, 'image', Row - 30, Column - 90, 'black', 'box_color', '#fce9d4cc')
    if (I < 10)
        dev_disp_text ('Press Run (F5) to continue', 'window', 'bottom', 'right', 'black', [], [])
        stop ()
    endif
endfor
clear_bar_code_model (BarCodeHandle)

以上是关于3d激光雷达开发(从halcon看点云pcl库)的主要内容,如果未能解决你的问题,请参考以下文章

3d激光雷达开发(lidar使用)

3d激光雷达开发(narf关键点)

3d激光雷达开发(项目练习)

3d激光雷达开发(点云数据显示)

3d激光雷达开发(法向量预测)

PCL—— PCL库的简单使用