同事又又又被现场照明条件坑了,调试了一上午。
最后才发现是光源本身就不均匀,并不是算法的问题,白白浪费了一个上午的时间。
今天刷到一个开源项目,里面有一个解决此类问题的方法。
试过之后,效果直接翻了一番,灯光不均的问题也有了解决的办法。
该算法类似于基恩士的浓淡补偿,在选择的时候根据方向来判断明暗是否均匀。
它叫 penCVVision。
它是一个基于 .NET 6 的 OpenCVSharp 机器视觉工具集。
作者最初是想学 ReactiveUI 和 OpenCvSharp。
后来就越来越熟练了,把常用的几个功能也整合在一起了。
从基础图像处理到 AI 推理,再到工业相机集成,功能比较全。
不过,这个工具最大的亮点还是浓淡补正算法。
做机器视觉的工程师,应该懂这个的含金量。
下面我们看看它有哪些独特功能。
浓淡补正算法,类似基恩士的明暗筛选功能。
这个功能可以根据方向来选择明暗不同的部分,并且不会受到条纹的影响。
就是选择一个卷积核做平移,并且把里面所有的中位数排出来。
然后用设置好亮度和对比度的比例来选择局部比较明亮或者比较暗的地方。
比如,可以通过卷积核长宽设置方向,实现特定方向的筛选。
沿 Y 轴方向对过曝的部分进行筛选,在确定了方向之后,条纹就不会被选中了,只会有不包含条纹的亮线被选择出来。
做表面缺陷检测的工程师应该一眼就懂。
照明不均匀是现场常见问题,光源老化、安装角度不对,都会导致这个问题。
过去由于灯光分布不均需要调整很久才能达到效果,而现在使用了该算法之后可以立刻得到结果,并且效率提高了一倍。
该算法借鉴了基恩士的做法,在工业视觉领域被当作一个经典的方案来使用。
机器视觉基础功能,从 ROI 到轮廓提取都有。
ROI 感兴趣区域选择,色彩空间转换,滤波去噪,二值化分割。
形态学运算、连通域分析、边缘检测和边缘分析等。
这些基础功能覆盖了图像预处理的大部分场景。
然后界面设计得也很直观,点一下就可以上手使用。
想做实验对比不同算法效果,这个工具挺方便。
AI 推理集成,PaddleX 和 Yolo 都能跑。
PaddleX 图像分类推理可以判断出缺陷类型。
PaddleX 目标检测推理用来确定缺陷的位置。
比如,Yolo 目标识别功能也有,模型直接加载就能用。
传统的视觉算法和 AI 推理相结合,在工业领域中使用得越来越多了。
特征点匹配功能可以用于产品定位、模板匹配等,非常实用。
在做质检项目的时候,传统的算法有时会失效,而使用了AI推理之后可以大大提高准确率。
工业相机集成,海康和大恒 SDK 直接支持。
要自己安装对应品牌的SDK,在项目里已经集成了代码框架。
其实,以前从零写采集代码要折腾半天,现在直接调用框架就行。
省了很多工作量。
3D 测量功能,结构光和线激光方案都有。
格雷码条纹结构光用来做三维测量。
灰度质心线激光提取,也是常见的 3D 方案。
光度立体法求表面法线与深度图,功能比较全。
作为3D测量方面的工程师,可以将这些算法直接拿来用,不需要重新编写。
二维码检测解码,微信二维码方案已集成。
可以直接检测和解码微信二维码。
用在产线扫码和产品追溯上,功能很稳定。
产线上有二维码识别的需求,该功能可以直接用,不需要另外去找库。
还有日志系统,按照日志级别来改变信息栏的颜色。
看到这你想装上试试 ?
先从 GitHub 下载代码。
git clone https://github.com/fusrodahs/OpenCVVision.git然后用visual studio 打开 OpenCVVision.sln。
打开项目后,界面直接可用,功能模块点开就能体验。
功能都很直接,不需要太高的学习成本。
有兴趣的朋友可以尽快试一试。
开源地址:https://github.com/fusrodahs/OpenCVVision 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!