本人是工作八年的视觉工程师,主要从事Halcon和Visionpro视觉开发,谈谈个人对视觉学习看法:
  1、HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,它节约了产品成本,缩短了软件开发周期。
  Halcon:底层功能算法多,运算性能快,开发需要一定软件功底和图像处理理论。
  快速学习做法:研究实例、做实战项目。halcon不能提供相应的界面编程需求,需要和vs来构造MFC界面或者QT使用,才能构成一套完整软件。
  2、需求主要有二维三维二维:(1)识别定位;(2)OCR识别;(3)二维码识别;(4)测量;(5)缺陷检测;(6)机器控制等三维:(1)多目标定(2)三维重建(3)三维匹配等
  3、成为合格的机器视觉工程师须具备三个方面的知识
  图像处理涉及以下几大领域:
  A、图像处理的基本理论知识(图像理论的基础知识)
  B、图像增强(对比度拉伸、灰度变换等)
  C、图像的几何变换(仿射变换,旋转矩阵等)
  D、图像的频域处理(傅里叶变换、DFT、小波变换、高低通滤波器设计)
  E、形态学(膨胀、腐蚀、开运算和闭运算以及凸壳等)
  F、图像分割
  G、图像复原
  H、运动图像
  I、图像配准(模板匹配等)
  J、模式识别(分类器训练,神经网络深度学习等)
  (2)软件编程功底
  具备C,C++,C#及MFC界面开发的功底
  A、C语言的学习主要看谭浩强写的C语言相关知识
  B、C++主要看C++primerplus书籍
  C、MFC的学习主要看孙鑫编写的《VC++深入详解》这本书及相应的视频教程,并在VC++6.0软件或VS2010等软件上编写程序和实践。
  D、C#可以看书籍《C#从入门到精通》、《C#入门经典》、《C#图解教程》
  (3)光学知识:
  光学知识主要在你设计方案时相机、光源、镜头等选型时起到关键作用。
  4、学习HALCON最重要的是学习其中的方法、流程和套路
  HALCON主要完成图像算法的流程套路如下:
  特征提取总结:
  1、几何特征(面积、周长、矩形度)
  2、纹理特征(与灰度相关,如熵、能量值)
  3、颜色特征
  4、概率特征
  5、算子描述特征
  6、Hough特征(梯度直方图特征)
  做机器视觉的项目,拿到项目时一般遵循如下流程:
  第一步:需求分析,建立相应的方案
  第二步:算法流程规划及业务逻辑设计
  第三步:模块化编程及集成化实现
  第四步:调试,根据反馈结果来不断的修改程序Bug,达到客户需求,最后交付客户及软硬件操作文档。
  学习机器视觉的好方法:
  1、学习机器视觉一定要结合项目实战,在实践中学 结经验教训,系统化学习所需知识。
  2、补充一定的C++和c#知识,进行VS联合开发,客户现场的学习和现场调试,不断学习示例分析,掌握方法套路流程。
  3、根据实际问题,学习模块调用,按照方法套路学习。
  4、最好是先用HALCON实现图像处理部分,然后在VS2010开发软件中利用MFC图形界面实现出来,实践学习是最好的方法。
       这是我搜集的资料分享给大家,有需要的自己保存:
       全套链接:https://pan.baidu.com/s/1Emc0uxczk8xA7CnpOiw9gA 提取码:3r6s
  发展趋势是结合神经网络、深度学习进行相应的人工智能机器视觉开发。
  敲黑板:本人经常会发一些对大家学习非常有参考价值的帖子和分享一些视觉halcon学习的资料,大家可以关注我以及看下我其他帖子。

halcon视频教程如何学习?怎么样才能踏入机器视觉这个行业?的更多相关文章

  1. 《Java4Android视频教程》学习笔记(一)

    此为个人的学习笔记,所以不具备太强的学习性,若有错误请谅解,如果能指出我的错误,我将万分感谢~ 一:java历史 java诞生 前身:Oak->java 曾经的名字C++(++--) 原意是在C ...

  2. halcon,C# 学习

    Halcon学习之一:查询图像参数 1.get_grayval ( Image : : Row, Column : Grayval ) 计算Image图像中坐标为(Row,Column)的点的灰度值G ...

  3. 《VC++就业培训宝典之MFC视频教程》学习笔记

    开发环境:Win7 64位 + VS2013 第三章第二节视频 在Win32工程中学习MFC开发,编译问题: Building MFC application with /MD[d] (CRT dll ...

  4. PHP高级应用视频教程大全学习

    php 是一种服务器端的,嵌入html的脚本语言.php区别其他像客户端java的地方是它的代码在服务器端执行.php能做什么?最低水平,php可以做任何其他cgi程序所能做的事,例如收集表格数据,生 ...

  5. 《Java4Android视频教程》学习笔记(三)

    一:抽象类 接口 1.使用abstract修饰抽象类 抽象函数 2.一个类中有一个或者多个抽象函数,必须定义为抽象类 3.抽象类可以不含有抽象函数 4.抽象类不可以生成对象 tip:如果一个代码在语意 ...

  6. 《Java4Android视频教程》学习笔记(二)

    一:面向对象 1.对象 ①对象的使用方法 对象.变量 对象.方法 ②匿名对象 new A().方法 new A().变量 匿名对象会被分配到对内存中 java内存处理机制会对一定时间内无指针指向的对象 ...

  7. Halcon例程detect_indent_fft学习

    ************************************************************************************************ *** ...

  8. hcode视频教程中心(学习h5和hbuilder等)

    网站: http://www.hcoder.net/course

  9. VB入门在线视频教程大全学习

    课程目录 9分钟47秒 课时1第一课:怎么编写程序 14分钟1秒 课时1第十七课第1节:文件读写的几种方式 14分钟14秒 课时2第二课:什么是变量和变量类型 19分钟24秒 课时3第三课:变量的声明 ...

随机推荐

  1. web的seo

    摘要:搜索引擎优化是一种具有很高技术性的活动,也是一种营销功能,必须将它作为营销活动处理.SEO从业者必须理解公司的服务.产品.总体业务战略.竞争形势.品牌.未来网站开发目标和相关的业务构成. SEO ...

  2. react-redux的Provider和Connect的引发的思考

    react是当下非常流行的JS框架,react秉承的设计原则是一切皆组件:react-redux是react中使用redux的桥接工具,react-redux也继承react的设计原则,使用组件的形式 ...

  3. spring_three

    转账案例 坐标: ; } } 创建增强类Logger.java /** * 用于记录日志的工具类,它里面提供了公共的代码 */ @Component("logger") @Aspe ...

  4. Scala 学习之路(四)—— 数组Array

    一.定长数组 在Scala中,如果你需要一个长度不变的数组,可以使用Array.但需要注意以下两点: 在Scala中使用(index)而不是[index]来访问数组中的元素,因为访问元素,对于Scal ...

  5. npm设置淘宝代理

    npm config set registry https://registry.npm.taobao.org npm info underscore

  6. Django框架rest_framework中APIView的as_view()源码解析、认证、权限、频率控制

    在上篇我们对Django原生View源码进行了局部解析:https://www.cnblogs.com/dongxixi/p/11130976.html 在前后端分离项目中前面我们也提到了各种认证需要 ...

  7. SpringMVC_Two

    SpringMVC_Two 响应数据和结果视图 创建工厂 导坐标: </load-on-startup> </servlet> <servlet-mapping> ...

  8. 时间段(今天,昨天,本周,上周,本月,上月,总)的查询,时间处理函数strtotime

    需求:最近get了一个很好用的PHP关于时间的函数strtotime,因为最近有个项目涉及到很多时间段(今天,昨天,本周,上周,本月,上月,总)的查询,要根据指定时间算出它每个范围的开始时间和结束时间 ...

  9. 微信支付重复回调,java微信支付回调问题

    这几天一直在研究微信支付回调这个问题,发现之前微信支付回调都是正常的也没怎么在意,今天在自己项目上测试的时候发现相同的代码在我这个项目上微信支付回调老是重复执行导致支付成功之后的回调逻辑一直在执行,很 ...

  10. BZOJ 1086:[SCOI2005]王室联邦(DFS树分块)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1086 题意:给出n个点的树,让你对树进行分块,每块的大小范围在[b, 3b]之间. 思路:一开始想着 ...