基于视频流⽔线的Opencv缺陷检测项⽬

代码链接见文末

1.数据与任务概述

        输入为视频数据,我们需要从视频中检测出缺陷,并对缺陷进行分类。

2.整体流程

(1)视频数据读取和轮廓检测

        首先,我们需要使用opencv读取视频数据,将彩色图转为灰度图后进行图像阈值处理。阈值处理是为了让前景和背景更明显的区分处理。然后,我们找到每一帧图片的轮廓信息。

(2)目标质心计算

        在获取轮廓后,所获取的轮廓可能并不是我们需要检测的目标,因此,我们可以通过面积等对轮廓进行筛选。筛选出我们检测目标的轮廓。

        然后是计算质心,为什么需要计算质心呢?

        这是由于随着一个元件可能出现在多帧图像中,如果计数将会出现大量的重复。因此,我们通过质心去判断某个元件是否被计数。        

        怎么判断呢?

        我们主要是通过质心移动的距离来进行判断。如果下一帧图像元件的质心与上一帧图像元件的质心相隔较近,那么这是同一个元件。我们还需要注意,我们只统计完全出现的元件(质心x坐标>元件的宽度)

        对于新的元件,我们截取这个元件,并进行缺陷检测。

(3)缺陷检测

              缺陷检测流程如下:

  • 首先,读取截取下来的缺陷图片,经过图像阈值处理后,检测出轮廓。对轮廓根据面积进行筛选,筛选出缺陷所在的轮廓。通过轮廓的外接四边形截取出缺陷
  • 获得缺陷的图

猜你喜欢

转载自blog.csdn.net/qq_52053775/article/details/129185444