0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器视觉应用方向项目流程及学习思路总结

新机器视觉 来源:新机器视觉 作者:新机器视觉 2022-09-22 15:18 次阅读

今天跟大家分享关于机器视觉应用方向项目流程及学习思路总结

1. 视觉项目介绍

机器视觉在工业上的需求主要有二维和三维方面的。

二维方面的有:

识别定位:①Blob分析(主要包括二值化、形态学处理、特征选择。ps:受光照影响较大)②模板匹配(常用的是Shape匹配和Ncc匹配,有时还会用到可变形模板);OCR光学字符识别;一维码、二维码识别及二者的结合;测量类(单目相机的标定、相机自标定)缺陷检测系列;运动控制,手眼抓取(涉及手眼标定抓取等方面)

三维方面的有:

摄像机双目及多目标定、三维点云数据重构

2. 总体项目流程

做机器视觉的项目,拿到项目时一般遵循如下流程:

(1)需求分析

01ddbcb4-3a2c-11ed-9e49-dac502259ad0.png

(2)方案设计:根据客户应用的场合不同,选择相应的镜头、相机、支架、光源及如何打光(感兴趣的可看看《工程光学》一书)等。

(3)概要设计:包含软件架构体系,视觉开发环境(vc++联合halcon还是c#联合halcon等),还有算法流程(怎么通讯、怎么识别等)。

(4)详细设计:每一个功能模块怎么做,包括图像采集模块、处理模块、包括算法模块,如何通讯等。通常将每个模块形成一个动态库,调用相应的接口函数即可,项目图像采集调用SDK也是调用动态库的过程。

(5)测试、调试和修改。

(6)客户交付、确认。

(7)调试:根据客户反馈结果来不断的修改程序Bug。

(8)达到客户需求,最后交付客户及软硬件操作文档。

(9)后期维护。

3. 视觉算法流程

图像采集

图像预处理:包含几何变换、灰度处理、图像增强、图像滤波、二值化、图像细化等

注:图像预处理在视觉算法中一般是可选项,图像效果很好的时候可跳过该步

定位(blob分析、模板匹配)

特征提取:包含几何特征(面积、周长、矩形度)、纹理特征(与灰度相关,如熵、能量值)、概率特征、角点、特征描述算子特征等,直接影响定位、识别的效果对特征区域进行处理(根据不同工业需求选择对应的检测识别算法)结果显示

4. 机器视觉工程师需要具备的能力

4.1 图像处理相关知识

涉及以下几大领域:

图像处理的基本理论知识(图像理论的基础知识)

图像增强(对比度拉伸、灰度变换等)

图像的几何变换(仿射变换,旋转矩阵等)

图像的频域处理(傅里叶变换、DFT、小波变换、高低通滤波器设计)

形态学(膨胀、腐蚀、开运算和闭运算以及凸壳等)

图像分割(HALCON里的Blob分析)

图像复原

运动图像

图像配准(模板匹配等)

模式识别(分类器训练,神经网络深度学习等)

学习参考资料

经典教材:冈萨雷斯的《数字图像处理》及对应的MATLAB

杨丹等编著《MATLAB图像处理实例详解》

张铮等编著《数字图像处理与机器视觉——Visual C++与MATLAB实现》

左飞编著的《数字图像处理:原理与实践(MATLAB版)》

左飞编著的《数字图像处理技术详解与Visual C++实践》

谢凤英编著的《Visual C++数字图像处理》

《精通系列·精通Visual C++数字图像处理典型算法及实现(第2版)》

4.2 软件编程功底

软件功底的作用是软件的架构设计分析,架构包括UI层设计、业务逻辑层开发、数据层开发。以下三个方面,每个方面至少会一种,具体选择视所在公司应用而定:

编程语言:C#,C,C++(自己用哪个就学哪个)

界面框架:C#界面,Qt界面,MFC界面(比较老了,以前的项目用的较多)

图像算法处理软件:HALCON,VisionPro,OpenCV等

学习资料参考:

1.C# 可以看书籍《C#从入门到精通》、《Head First C#》、《C#入门经典》、《C#图解教程》、《C#高级编程》、《.Net Frameword 高级编程》、《CLR via C#》

2.C 语言的学习主要看谭浩强写的C语言相关知识

3.C++主要看《C++ primer plus》书籍

4.Qt 学习可以看《Qt Creator快速入门》(入门)、《C++ GUI Qt4》(进阶)

5.MFC 的学习主要看孙鑫编写的《VC++深入详解》这本书及相应的视频教程,并在VC++6.0软件或VS2010等软件上编写程序和实践

4.3 视觉硬件知识

主要在你设计方案时相机、镜头、光源等选型时起到关键作用。

学习资料参考:

主要阅读书籍《工程光学》、重点放在几何光学方面,了解成像原理及相应的光路分析,知道光源的特性、镜头分辨率、相机分辨率等方面的知识。

5. 学习机器视觉的一些建议

1.学习机器视觉一定要结合项目实战,在实践中学习总结经验教训,系统化学习所需知识。

2.补充一定的C++和c#知识,进行VS联合开发,客户现场的学习和现场调试,不断学习示例分析,掌握方法套路流程。

3.根据实际问题,学习模块调用,按照方法套路学习。

4.最好是先用Halcon等视觉处理软件实现图像处理部分,然后在VS开发软件中利用MFC或Qt等图形界面实现出来,实践学习是最好的方法。

机器视觉学习的发展趋势是结合神经网络、深度学习进行相应的人工智能机器视觉开发。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像采集
    +关注

    关注

    2

    文章

    300

    浏览量

    41289
  • 机器视觉
    +关注

    关注

    162

    文章

    4380

    浏览量

    120408
  • 函数
    +关注

    关注

    3

    文章

    4333

    浏览量

    62708

原文标题:机器视觉应用方向项目流程及学习思路总结

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    适用于机器视觉应用的智能机器视觉控制平台

    工控机在机器视觉系统设计中是不可或缺的核心组件,在机器视觉中发挥着至关重要的作用,其强大的计算能力、高度的稳定性和可靠性、实时性以及图像处理和识别能力,为
    的头像 发表于 11-23 01:08 200次阅读
    适用于<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>应用的智能<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>控制平台

    AI干货补给站 | 深度学习机器视觉的融合探索

    ,帮助从业者积累行业知识,推动工业视觉应用的快速落地。本期亮点预告本期将以“深度学习机器视觉的融合探索”为主题,通过讲解深度学习定义、传统
    的头像 发表于 10-29 08:04 231次阅读
    AI干货补给站 | 深度<b class='flag-5'>学习</b>与<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>的融合探索

    计算机视觉机器视觉区别在哪

    计算机视觉机器视觉是两个密切相关但又有明显区别的领域。 一、定义 计算机视觉 计算机视觉是一门研究如何使计算机能够像人类一样理解和解释
    的头像 发表于 07-09 09:22 466次阅读

    深度学习在工业机器视觉检测中的应用

    随着深度学习技术的快速发展,其在工业机器视觉检测中的应用日益广泛,并展现出巨大的潜力。工业机器视觉检测是工业自动化领域的重要组成部分,通过图
    的头像 发表于 07-08 10:40 1094次阅读

    机器视觉的应用范围

    机器视觉是一种将计算机视觉技术应用于机器人领域的技术,它使得机器人能够感知和理解周围环境,实现自主决策和执行任务。随着人工智能、
    的头像 发表于 07-04 11:33 632次阅读

    机器视觉的应用流程是如何实现的

    机器视觉是一种利用计算机和图像处理技术,模拟人类视觉系统对图像进行处理、分析和理解的技术。它在工业自动化、智能交通、医疗诊断、安防监控等领域有着广泛的应用。 在机器
    的头像 发表于 07-04 10:47 442次阅读

    计算机视觉的主要研究方向

    计算机视觉(Computer Vision, CV)作为人工智能领域的一个重要分支,致力于使计算机能够像人眼一样理解和解释图像和视频中的信息。随着深度学习、大数据等技术的快速发展,计算机视觉的研究和应用取得了显著进步。本文将对计
    的头像 发表于 06-06 17:17 997次阅读

    机器视觉照明控制的类型

     机器视觉照明控制原理主要涉及对光源的亮度、颜色和方向等参数的精确调控,以满足不同应用场景下对图像质量和清晰度的需求。
    的头像 发表于 04-08 15:54 817次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b>照明控制的类型

    机器视觉系统构成、分类与优势解析

    机器视觉的定义:机器视觉就是使用光学非接触式感应设备自动接收并解释真实场景的图像以获得信息控制机器流程
    发表于 03-28 11:41 776次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b>系统构成、分类与优势解析

    分析 丨AI算法愈加复杂,但是机器视觉的开发门槛在降低

    机器视觉系统依赖于机器学习(machine learn)和深度学习(deep learn),尤其是深度
    的头像 发表于 02-19 16:49 695次阅读
    分析 丨AI算法愈加复杂,但是<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>的开发门槛在降低

    机器视觉软件有哪些 机器视觉软件的优点

    机器视觉软件是一种利用计算机视觉技术来模拟和弥补人眼视觉功能的软件系统。它可以通过对图像和视频进行分析,识别和理解目标物体,以实现自动化和智能化的任务。
    的头像 发表于 02-02 10:53 1619次阅读

    盘点那些硬件+项目学习套件:STM32MP157 Linux开发板及入门常见问题解答

    去实现。 如果主要想学习Linux+Qt开发,那就需要带屏幕的套餐,即进阶套餐(基础套餐+显示屏)。如果想拓展AI机器视觉方向学习
    发表于 02-01 14:25

    基于机器视觉和深度学习的焊接质量检测系统

    基于机器视觉和深度学习的焊接质量检测系统是一种创新性的技术解决方案,它结合了先进的计算机视觉和深度学习算法,用于实时监测和评估焊接过程中的焊
    的头像 发表于 01-18 17:50 826次阅读

    机器视觉基础知识点总结

    照明是影响机器视觉系统输入的重要因素。光源系统的设计非常重要,它与输入数据直接相关,即图像的质量和应用效果。
    发表于 01-16 10:08 1164次阅读

    大牛谈如何学习机器视觉?

    国内外机器视觉发展的不同。我本人认为,只有先搞清了两边的不一样,才便于说清如何下手学习。国外机器视觉发展到今天,已经从“一包到底”式的工作程
    发表于 01-15 11:02 458次阅读
    大牛谈如何<b class='flag-5'>学习机器</b><b class='flag-5'>视觉</b>?