6

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

 2 years ago
source link: https://blog.csdn.net/feixiaoxing/article/details/126497160
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

嵌入式-老费 已于 2022-08-24 09:28:30 修改 39

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

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

b4a00e1d62114978aa3370d33a84529d.png

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

1f2d2763664044a593487c87a85c6563.png

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

65d91c0e4f38422db4816ad83a1e46cc.png

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

d85ee4d0a29d42618437ccc221f7adb7.png

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

4201e4c6c8bf40acbf31892ffa02e4df.png

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

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

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

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

5c679b7823ac45d497c53bc9b0202963.png

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

a3bb6b2ef48346fea6ac7006e516df37.png

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK