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之后,在自己的电脑上完成。学习图像固然需要花费一些时间,但是只要一步一步去做,总能学会的。
相关文章
- 深度学习线性回归
- 跟李沐学AI 02 深度学习介绍【动手学深度学习v2】
- Nginx学习笔记(三) Nginx基本数据结构
- 2021-春季学习-智能车技术创新与实践-Lesson2
- 机器学习笔记之集成学习(三)AdaBoost(加性模型的数学推导)
- 机器学习笔记之条件随机场(二)HMM vs MEMM
- 大数据与机器学习:实践方法与行业案例.1.2数据平台
- 大数据与机器学习:实践方法与行业案例.1.3 应用系统
- 大数据与机器学习:实践方法与行业案例.3.2 自动加载的流程
- [转] javaweb学习-jstl-<c:forEach>中 varStatus的属性简介
- 如何构建自己的Java学习体系?
- 【使用unittest框架】unittest中的方法:学习setUp()和tearDown()函数以及断言方法
- 【机器学习】Google机器学习工程的43条最佳实践
- 深度学习在美团搜索广告排序的应用实践
- vuex学习与实践——mapState、getter、mapGetters
- docker学习2-安装实践
- ABP实践学习
- 《计算机视觉:模型、学习和推理》——第1部分 概率
- Spring Aop的学习(一):Spring Aop的简单入门
- 深度学习(自然语言处理)Seq2Seq学习笔记(动手实践)
- 【吴恩达机器学习】Week6 编程作业ex5——正则化线性回归与偏差和方差的对比
- 【转】Linxu学习---top实践
- Java学习---下载文件并且对文件编码
- 【数字IC验证快速入门】20、SystemVerilog学习之基本语法7(覆盖率驱动...内含实践练习)
- 【数字IC验证快速入门】14、SystemVerilog学习之基本语法1(数组、队列、结构体、枚举、字符串...内含实践练习)
- 安卓开发学习笔记(一):如何用Android Stuidio导出apk文件?
- C#学习笔记(三)—–C#高级特性:dynamic