halcon学习和实践(第一个范例threshold.hdev)

Posted 嵌入式-老费

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了halcon学习和实践(第一个范例threshold.hdev)相关的知识,希望对你有一定的参考价值。

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

        对于halcon学习,一个比较好的学习方法就是学习它的范例,效果虽然慢,但是作用是实实在在的。范例中不仅包含了很多的应用case,而且可以通过这些范例,可以学习问题解决的思路是什么样子的。只要有了这些思路,遇到问题的时候才不会那么慌张。

         打开halcon之后,只要输入ctrl+E,或者是依次输入文件-》浏览HDevelop示例程序,就可以看到对应的窗口,比如像这样,

        左边是各种各样分类的方法,右边是具体的案例。不失一般性,我们可以找一个blob分析,然后选择一个threashold.hdev的案例来进行分析,

         打开后似乎什么也没有,没关系,这个时候只需要单击上面的执行按钮就可以看到效果了,

         不出意外的话,你就会看到这样的执行结果,

         上面整个截图有四个部分,左上是一副图片,上面有几个彩色的部分,看上去所有的操作都是为了为了找到这几个彩色的连通区域;左下有很多小图片,看上去应该是执行过程中的中间结果;右上是查找执行函数使用的;右下是执行的脚本。我们可以进一步分析这个脚本是做什么的,

read_image (Audi2, 'audi2')
fill_interlace (Audi2, ImageFilled, 'odd')
threshold (ImageFilled, Region, 0, 90)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'width', 'and', 30, 70)
select_shape (SelectedRegions, Letters, 'height', 'and', 60, 110)
dev_clear_window ()
dev_set_colored (12)
dev_display (ImageFilled)
dev_display (Letters)

         脚本内容看上去有点像python脚本,当然这不重要。第一行read_image,顾名思义,应该是读取图片;第二行fill_interlace,不太懂,暂且认为是图像增强的功能吧;第三行threshold,这个好理解,就是二值化;第四行connection,听名字好像是区域连接,姑且认为是分割吧;第五行和第六行是select_shape,两个函数一样,但是参数不一样,一个是width,一个是height,从字面上看,应该是从之前的分割区域中筛选出合适的区域。第七行dev_clear_window,从名字上看是清除窗口。第八行dev_set_colored,字面上看是设置颜色;第九行和第十行都是dev_display,很明显这是一个显示函数,只不过一个显示的是原图像,一个显示的是分割后的图像,两者叠加在一起。

        有了上面的分析,我们可以清楚的知道,这就是一个车牌识别的程序。

       也许 有的同学会说,能不能单步调试呢,其实这是完全可以的,也是比较推荐的调试方法,选择F2重新执行,

         接着就是单步执行,可以输入F6,或者是单击这个按钮,

         上面这些步骤,大家都可以在安装halcon之后,在自己的电脑上完成。学习图像固然需要花费一些时间,但是只要一步一步去做,总能学会的。

以上是关于halcon学习和实践(第一个范例threshold.hdev)的主要内容,如果未能解决你的问题,请参考以下文章

halcon学习和实践(从halcon转化为opencv)

halcon学习和实践(svm模型训练实战)

halcon学习和实践(ocr识别)

halcon学习和实践(开篇)

halcon学习和实践(颜色筛选)

halcon学习和实践(工业视觉套路)