发明名称 用于产品数量检测的图像识别方法
摘要 一种用于产品数量检测的图像识别方法,涉及一种图像识别方法,包括以下步骤:S1.安装视频设备;S2.产品的包装;S3.包装箱的堆码;S4.视频的采集;S5.视频截图;S6.对图片进行前处理;S7.对经前处理的图片进行中间识别;S8.判断产品的全部数量。本发明的识别精度高、方法简单,并可降低生产成本、减小劳动强度,提高生产效率,可推广运用到任何准时化生产企业中。
申请公布号 CN102930279B 申请公布日期 2016.03.02
申请号 CN201210371785.4 申请日期 2012.09.29
申请人 广西工学院 发明人 胡迎春;侯军燕;胡裔志
分类号 G06K9/60(2006.01)I;G06M15/00(2011.01)I 主分类号 G06K9/60(2006.01)I
代理机构 柳州市荣久专利商标事务所(普通合伙) 45113 代理人 周小芹
主权项 一种用于产品数量检测的图像识别方法,其特征在于:该方法是一种通过截取视频图像来对产品数量进行检测的方法,包括以下步骤:    S1. 安装视频设备;    S2. 产品的包装:分别将产品用色彩与周围环境颜色形成反差的长方体包装箱进行包装;    S3. 包装箱的堆码:将各包装箱堆码成一个正方体或长方体的货垛;    S4. 视频的采集:通过视频设备采集堆码后的货垛总外观视频资料;    S5. 视频截图:调用视频截图软件读取视频流,生成图片;    S6. 对图片进行前处理:依次将前景和背景分离、去除边界、去除周边噪音、灰度处理、形态再次除噪;    S7. 对经前处理的图片进行中间识别:将经前处理的图片依次进行找最低点(L1)、修复边界线、找左侧点(L2)、右侧点(L3)、搜索层数点、搜索左上边界点(L4)、右上边界点(L5),并判断最上层是否是整层,得出层数以及每层包装箱的数量;S8. 判断产品的全部数量:如果最上层是整层,将每层包装箱数量乘以层数,得出产品的全部数量;如果最上层是非整层,将所有整层的每层包装箱数量乘以整层的层数,再加上非整层包装箱的数量,得出产品的全部数量;将结果输出;所述的步骤S7对经前处理的图片进行中间识别包括下列具体步骤:S7.1.找最低点(L1):每张图片均有四个角点,分别为L0{0,0}、L0{1,0}、L0{1,1}、L0{0,1},通过对图片的像素扫描和阈值的设定,获取堆码后货垛总外观三维图片的最低点(L1)以及与最低点(L1)连接的边界线m、边界线n;S7.2.修复边界线:以最低点(L1)为原点,对边界线m、边界线n进行修复,减少在后处理中的搜索误差;S7.3. 找左右两侧点:同样通过对图片的像素扫描获取边界线m、边界线n上的最远端点,该两条边界线上的最远端点即为左侧点(L2)、右侧点(L3),所述的左侧点(L2)、右侧点(L3)和最低点(L1)勾勒了堆码后货垛总外观三维图片的左右底层的轮廓范围;S7.4.搜索层数点:以0、1分别代表黑、白像素点,以分别平行于垂直方向和左右两方向的边界线方向逐层扫描,将扫描结果置于矩阵中,并对矩阵的行和列分别相加,数值最小的行或列即为包装箱层数的轮廓线,两轮廓线相交即为包装箱的4个角点,4个角点即为一个包装箱,根据角点坐标值可计算一个包装箱长度;S7.5.搜索左上边界点(L4)、右上边界点(L5):以循环方式进行迭代,当组成轮廓线的散点图不符合大多数一致的正态分布时,左右两边最后一个符合正态分布的散点图的点即分别为左上边界点(L4)和右上边界点(L5);S7.6. 找特征角点Ⅰ(A):在最低点(L1)附近寻找一块区域,最低点(L1)置于区域下方,区域左右为最低点(L1)的X值分别加减10,区域上方为最低点(L1)的Y坐标值减去右侧点(L3)与右上边界点(L5)Y坐标值的差;从最低点(L1)起,沿Y方向向L0{0,0}点扫描,在此区域中且与最低点(L1)的连线其阈值之和全为0的线的终点即为特征角点Ⅰ(A);S7.7. 找特征角点Ⅱ(B):对存在于由最远点(L6)、右上边界点(L5)和L0{1,0}组成的三角区域的边界线,从最远点(L6)向L0{1,0}方向扫描Y向坐标值,第一个拐点的坐标即为特征角点Ⅱ(B);S7.8. 判断最上层是否是整层:①对由L0{0,0}、左上边界点(L4)和最远点(L6)组成的左上三角形区域求反,然后进行扫描,若扫描像素点阈值的和大于零,则表示当前扫描行未堆满货垛,即非满行,表示为非整层,则直接进行步骤S7.10;若像素点阈值的和为零,则表示最上层上的当前扫描行是满行,进行步骤②;②对右上边界点(L5)、最远点(L6)与L0{1,0}点组成的右上三角形区域求反,对该区域进行扫描,若扫描像素点阈值的和大于零,则表示非满列,亦表示最上层上未堆满货垛,即为非整层,则直接进行步骤S7.10;若扫描像素点阈值的和为零,则表示满列,进行步骤③;③以特征角点Ⅱ(B)为起点,沿着行方向模拟绘制满行长度线段,将线段长度除以由步骤S7.4计算得到的包装箱长度即可得到满行包装箱中每行的个数;将最上层最后一行上的边界线长度与该线段进行对比,若相等则表示最后一行满行,则最上层是整层;若不相等,则根据步骤S7.10,判断非满行包装箱个数;S7.9. 判断层数:将特征角点Ⅰ(A)与最低点(L1)的连线长度除以第一层的高度值,再乘以一个修正投影系数即可获得层数;S7.10. 计算非整层的包装箱数量:非满行与非满列均为非整层情况;以特征角点Ⅱ(B)为起点,沿着行方向模拟绘制非满行射线,根据非满行射线占满行线段长度之比例,即可获知非满行中包装箱个数;将通过扫描得到满行的行数乘以通过计算得到的满行包装箱中每行的个数,加上非满行中包装箱个数即为非整层的包装箱数量。
地址 545006 广西壮族自治区柳州市东环路268号