VisionMaster 学习笔记(仪表盘检测)

VisionMaster 学习笔记(仪表盘检测)

最近一直很忙,好久没有更新博客了。正好这两天有个小项目,要用到 VisionMaster。项目用 VM 来实现很简单,可以作为一个 VisionMsater 的典型学习案例。

这个项目简单的来说是在一个检测工位,代替人工,确认一个仪表的状态。只要这个仪表亮了,并且显示了些内容就是 OK 的,如果没亮,或者亮了但是没有显示内容,则是 NG 的。

下面给出了现场拍摄的三个照片。

用 VisionMaster 实现这个功能很简单。我们先把用到的几个模块拉进来,各个模块的参数先不用设置。参考下面的截图。
VisionMaster 学习笔记(仪表盘检测)_第1张图片我们没有连接相机,所以图像源先选择本地的图片。设置如下,需要读取 RGB 格式的彩色图像。项目上线的时候,图像源要换成一个真实的相机。另外多说几句,后面的计算其实没有用到颜色信息。但是 Mono8 图像不会统计像素信息,搞了半天没研究明白。所以还是选择了 RGB24.
VisionMaster 学习笔记(仪表盘检测)_第2张图片还要把测试图像都加进来。
VisionMaster 学习笔记(仪表盘检测)_第3张图片
然后是颜色测量模块,这个模块有两处要设置。首先运行参数里的颜色空间要改成 HSV。 HSV 空间中 H表示亮度,后面我们主要就是用H。

VisionMaster 学习笔记(仪表盘检测)_第4张图片另外就是颜色测量要选择一个合适的测量区域。这个就是设置 ROI 区域。后面所有的计算都是针对 ROI 区域的。我们在仪表面板上选一块亮度均匀,没有反光的区域。

VisionMaster 学习笔记(仪表盘检测)_第5张图片之后就可以运行一下了。首先选中颜色测量模块,然后点运行。在右下角就可以看到这个模块的 运行结果。
VisionMaster 学习笔记(仪表盘检测)_第6张图片对于背光没有亮的时候,通道1 的均值只有10几。亮了就有60多。所以通过通道1均值可以判断背光是否亮了。
再看通道1 的标准差,显示数字时标准差会比较大。没有数字时标准差比较小。但是没有背光时标准差也比较大。不过没关系,没背光可以通过均值先给过滤掉。
用这两项就可以判别 OK NG 了。
VisionMaster 学习笔记(仪表盘检测)_第7张图片
最后还剩下发送数据。我们这个程序是由另一个程序控制的。通过 TCP连接,对方发送 START字符串时开始工作,把判别结果回传。
首先要配置通讯设备。
VisionMaster 学习笔记(仪表盘检测)_第8张图片然后是触发设置。设置接收到字符串“START” 开始运行一遍全流程。
VisionMaster 学习笔记(仪表盘检测)_第9张图片最后是结果发送。
VisionMaster 学习笔记(仪表盘检测)_第10张图片
VisionMaster 学习笔记(仪表盘检测)_第11张图片

这样就设置完了。可以用网口调试助手测试一下。

VisionMaster 学习笔记(仪表盘检测)_第12张图片至此,一个小项目就完成了。剩下还可以设置个运行界面。这个非常简单,就不多介绍了。

你可能感兴趣的:(学习,计算机视觉,人工智能)