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

大学里面开设数字图像处理课程的学校很多,选用的书籍一般就是冈萨雷斯那本《数字图像处理》。编程实践的话,一般是三种方法,一种是老师自己写一个dll库,里面包含了基本的read image、write image方法,学生专注于算法的编写就好了;一种是用python + opencv库编写算法;还有一种是matlab编写,大体就是这三种。

我们不能说这种教学是错误的,但是有点脱离生产实际,这是肯定的。有几个方面,这个与实际应用场景是严重脱离的,

1)教学使用的图片一般都是来自于公开图片库,这给人一个错觉,那就是好的图像似乎是天然获得的。但是实际上,在工业生产上为了获得一张符合要求的图片需要付出很多的努力,比如说选择好的光源,选择合适的镜头,选择匹配的传感器等等。此外,对相机的安装位置也有一定的要求。有了高质量的图片,对算法要求自然也就低很多。很多时候,大家会发现,工业生产上面花费在算法的时间上不一定很多,但是花在获取高质量图片的功夫上面需要花费很多的时间,而且很多时候这个时间都是少不了的。

2)工业生产的算力并不是无限供给的,而且对时间有一定的要求。一般教学中,都是拿PC或者笔记本直接对图像处理,用的都是最新的cpu、最新的显卡、最新的硬件。但是工业或者消费品中,用的可能是嵌入式板子,而且嵌入式板子的算力都是一定的。不管如此,就是这算力不高的开发板,对于其结果的输出还是有性能要求的。比如汽车、机器人系统,如果图像输出结果不能在一定时间内完成,那么即使后面给出了结果,也基本上没有了意义。为了加速图像处理,你可能还需要掌握dsp、fpga、gpu的处理方法,这都是cpu开发之外的必须的工作量。不光如此,你可能还需要掌握硬件知识,比如网络、dma、v4l2、neon汇编等等,这一切的一切都是为了加速算法的执行。

3)学术中,为了提高对图像的处理能力,可能会设计出各种各样的算法。而在生产中,很多时候一个系统,是需要多种传感器配合才能获得最终结果的。比如图像可能和激光雷达、3d结构光camera、毫米波雷达、超声波雷达来进行配合。只要对最终的系统有利,我们有必要选用各种传感器组合在一起,而不拘泥于摄像头本身。图像本身没有深度信息,此时除了深度学习之外,另外一个稳妥的办法,就是匹配一个深度检测传感器,距离短可以用3d结构光,距离长可以用lidar,现在这方面都已经越来越成熟了。

上面说的三点只是生产中常见的几个误区。此外,在工业当中,实际使用的软件,也不是opencv,而是halcon和vision pro。拿halcon举例,用户自己本身不需要掌握复杂的算法,通过脚本就可以实现功能的开发。在脚本完成后,可以导出为c#或者c++代码,结合dll文件,可以最终部署到自己的项目中。本身halcon也有windows版本和linux版本。只是halcon本身是商业软件,作为学习使用一般问题不大,如果是大范围的做商业部署,最好还是用opencv+定制算法+硬件优化来解决大多数问题,这样比较稳妥。

halcon学习和实践(开篇)相关推荐

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

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 对于halcon学习,一个比较好的学习方法就是学习它的范例,效果虽然慢,但是作用是实实在在的.范 ...

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

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 和学术领域为了追求正确率尝试各种算法不同,工业视觉领域更多的是一种算法的套路.这些套路有它自己的 ...

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

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 图像处理中,颜色是一个很重要的属性.很多同学都以为颜色只有红.橙.黄.绿.青.蓝.紫这几种颜色. ...

  4. HALCON学习之旅(七)

    HALCON学习之旅(七) 文章目录 HALCON学习之旅(七) 1.MFC与Halcon混合编程 2.C#与Halcon混合编程 3.Halcon测量助手使用 4.Halcon实例进阶一(拟合区域椭 ...

  5. 智能会议系统(30)---WebRTC学习之一:开篇

    WebRTC学习之一:开篇 一.无插件的实时通讯 想像一下,如果你的手机.电视.电脑都可以通过一个平台进行通信,想像一下,你可以在Web应用中轻松地加入视频聊天和p2p数据分享,这就是WebRTC的愿 ...

  6. 八大深度学习最佳实践

    翻译 | AI科技大本营 参与 | 刘畅 [AI 科技大本营导读] 2017年,许多的人工智能算法得到了实践和应用.名博Hack Noon作者 Brian Muhia 认为想要玩转人工智能,不仅要拥有 ...

  7. 深度学习算法实践(基于Theano和TensorFlow)

    深度学习算法实践(基于Theano和TensorFlow) 闫涛 周琦 著 ISBN:9787121337932 包装:平装 开本:16开 用纸:胶版纸 正文语种:中文 出版社:电子工业出版社 出版时 ...

  8. 【PWA学习与实践】(3) 让你的WebApp离线可用

    <PWA学习与实践>系列文章已整理至gitbook - PWA学习手册,文字内容已同步至learning-pwa-ebook.转载请注明作者与出处. 本文是<PWA学习与实践> ...

  9. halcon例程讲解_跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量

    跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量 This example program demonstrates the basic usage of a measure object. ...

  10. Google App Engine 学习和实践

    这个周末玩了玩Google App Engine,随手写点东西,算是学习笔记吧.不当之处,请多多指正. 作者:liigo,2009/04/26夜,大连 原创链接:http://blog.csdn.ne ...

最新文章

  1. 【OpenGL】顶点变换常用函数总结
  2. s1 java 复习 视频小课
  3. Android 代码关于重构的一点体会
  4. 嵌入式系统安全实验-下载Linux内核源代码生成内核映像
  5. Debian 10 使用 rz sz 命令
  6. easyrecovery免费数据恢复工具操作简单一键恢复数据
  7. Tensorrt7踩坑记录
  8. 51单片机:编程实现数码管显示0~999999的秒表计时,高位的0不显示。
  9. 不能显示隐藏文件解决方法
  10. 8、两种典型微处理器介绍
  11. 图片去水印的原理_图片中的水印怎么去除
  12. 固态硬盘是什么接口_固态硬盘接口有哪些,他们之间都有什么区别,该如何选择...
  13. zoj 1104 Leaps Tall Buildings(超人不会飞- -。。)
  14. LeetCode:三数之和
  15. (一)通用定时器的相关介绍
  16. 再一次获取你的WIFI密码(fluxion附视频)
  17. 文本分类实战—— Bi-LSTM模型
  18. 智云通CRM:CRM数据库在经营客户中有什么作用?
  19. Empress .... 概念
  20. c语言缓冲区溢出函数,示例C程序上的缓冲区溢出

热门文章

  1. VS2008 入门基本操作
  2. 提取Flash源文件中的素材
  3. Qt开发之路——SogouInput\Components\ Error - RtlWerpReportException failed with status code :-107374182
  4. idm2021中文版序列号加速下载百度云网盘大文件教程
  5. 【IPD流程学习 三】模板详述
  6. KITTI 数据集简介
  7. C#操作明华澳汉读写器读写M1卡往扇区块写入读取值小结
  8. 开心消消乐h5版游戏案例分享
  9. Smart3D运行过程中遇到的问题(持续更新)
  10. 第三章 3.2 DI依赖循环 --《跟我学Spring》笔记 张开涛