1.1 课题研究的背景与意义
在如今社会中,钢材是被广泛使用的材料之一,钢筋更是生活以及工业建筑中不可缺少的钢铁材料,在各个行业有着重要的作用[1]。目前,钢筋大多是按照重量包装进行销售的,而在有些行业,例如设计,往往需要的是钢筋的数量。负公差轧制是目前钢筋销售的主要轧制,钢筋实际尺寸与公称尺寸之间的差值为负时称为负公差,成捆钢筋的重量是单根的理论重量与钢筋数量的积[2,3]。在生产中,钢筋的实际尺寸难免会跟设计尺寸产生误差,按重量计算显得不符实际情况。钢筋的准确计量对钢铁企业的产量以及利润计算有着重要意义。因此,准确的对钢筋进行计数显得尤为重要。 现阶段,我国钢铁企业主要通过以下两种手段对钢筋进行计数[4]: (1)称重计量,理论上来说称重计量是最简单、最直接的计算方式,但也存在诸多局限性。称重计量遵循负公差轧制,由于钢筋的实际尺寸与重量不完全跟理论上的尺寸与重量相同,通过称量计算钢筋数量时,误差是不可避免的,对于大量出货的企业,这是不容忽视的一点。另外,由于钢筋的重量过于庞大,称量计算需要庞大的起重设备以及称量设备,设备自身需要占用大量的场地,并且称量过程中的搬运对人力、物力也是不小的消耗。 (2)钢筋在线自动计数器,例如宝钢八钢公司就在生产线上安装了自动计数器,对钢筋进行自动计数。但是,由于生产线的温度、光线以及传输带的速率问题,致使自动计数不准确,需要人工复查,准确率和效率都有待提高。 钢筋的计数是钢铁企业生产的重要环节[5],无论是入库还是销售,钢筋的精确计数都能减少不必要的麻烦。 本课题的研究基于图像处理,首先对获得的钢筋端面图像进行预处理,这些预处理操作包括图像分割、滤波、二值化,然后对捆扎钢筋端面进行识别,并完成自动计数,此过程在移动端的 APP 中完成。成型的自动计数 APP 操作简单便捷,无需手机以外的设备,能够运用于极大多数场合,极大的节约计数时间,提高计数精度。
......
1.2 钢筋端面图像处理算法综述
二十世纪 50 年代,数字图像处理技术开始慢慢兴起,一直发展到今天,数字图像处理技术被广泛应用在各个领域,其中就包括工业检测[10]。 本文的研究先利用手机摄像头来采集成捆钢筋的端面图像,采集的图像中可以明显看到除钢筋端面以外的其它干扰信息,这些无用的信息需要在处理中去掉。成捆钢筋自动计数需要提取包括钢筋端面的特定图像区域进行处理,这种提取特定区域并获取感兴趣目标的过程和技术叫做图像分割[11]。在对图像进行分割之后,对获得的端面图像进行处理、识别、计数。因此,本文主要研究了图像分割算法以及钢筋识别计数的算法,以下内容主要介绍了图像处理技术在这两方面的应用。图像分割技术的发展已经有很长时间,在计算机视觉的研究中,它依然是一个难题。图像分割的研究方向广泛,主要有:(1)传统图像分割方法,包括三种分割方法,分别是基于区域、边缘以及两者结合的分割方法;(2)结合特定理论的图像分割方法,包括基于形态学的分割方法、基于模糊理论的分割方法、基于神经网络的分割方法、基于阈值的分割方法以及基于图论的分割方法等[12]。本研究中需要实现分割的图像背景复杂,干扰信息较多,基于图论的分割方能有效的通过聚类对图像进行分割。对图像进行首次分割之后,仍需对图像进行二值化操作,二值化操作是基于阈值的分割方法。因此,本文在图像分割方面主要应用到了基于图论的分割方法以及基于阈值的分割方法。
.........
第 2 章 自动计数 APP 的系统设计
2.1 引言
良好的系统构建环境以及系统架构设计是整个系统稳定运行的有利保障。本章将从软件以及硬件两方面对系统的搭建环境进行分析,本系统的软件环境包括 i OS 系统以及Open CV 开源项目库,硬件环境即为 i Phone 手机。i OS 系统是一个稳定的移动端操作系统,Open CV 开源库是一个高效、开源、跨平台的计算机视觉库。在此基础上,本章内容还分析了系统的整体架构及功能模块,系统的功能模块包括图像获取、图像预处理、端面识别与计数、数据分享。以下章节将会对整个系统进行详细的解读。
.........
2.2 系统的搭建环境
一个应用程序的运行离不开硬件与软件的支持,只有建立在相应的技术基础之上,应用程序才能有效、稳定的运行。 对于一个系统来说,基本的硬件平台包括处理器、存储设备、I/O 接口等等。基于本课题的研究背景,APP 的设计主要是为了通过智能手机,解决大多数场合中对成捆钢筋的计数。本文研究的是基于 i OS 端的 APP,因此本系统的硬件平台即为 i Phone 智能手机。如今智能手机的普及程度极高,具有携带方便、第三方应用程序兼容性高等优点,并且手机处理器十分强大,足以完成对图像的处理。 本课题的系统软件层即为手机的操作系统。如今市场上有着各式各样的手机操作系统,相对主流的包括 Android、i OS 以及 Windows Phone。本文的研究基于 i OS 系统,因此本文的软件层即为 i OS 系统。i OS 系统是基于 Unix 内核的操作系统,系统稳定性相对较好,于 2007 年由苹果公司推出,系统架构如图 2.1 所示。系统由上至下包括四个层次[26]: (1)可触摸层(Cocoa Touch Layer),为用户提供交互服务,包括事件管理、通知中心、界面控件等等; (2)媒体层(Media Layer),主要提供媒体业务引擎,包括图像、音频、视频; (3)核心服务层(Core Services Layer),主要提供系统服务,包括网络和数据库访问、定位以及浏览器引擎等.
..........
第 3 章 钢筋端部图像预处理 ........ 9
3.1 引言 ........... 9
3.2 现场图像分析及图像预处理概述 ....... 9
3.3 ROI 图像区域提取 ......... 11
3.4 图像灰度化 .... 15
3.5 图像平滑滤波 ............ 16
3.6 形态学滤波 .... 24
3.7 端面图像阈值分割及形态学处理 ...... 29
3.8 本章小结 ...... 35
第 4 章 钢筋端面图像的识别与计数 ........... 36
4.1 引言 .......... 36
4.2 图像识别技术概述 ........ 36
4.3 钢筋端面识别与计数 ...... 37
4.4 钢筋端面识别与计数实验结果与分析 ............. 43
4.5 本章小结 ...... 44
第 5 章 系统实现与测试 ........... 45
5.1 引言 .......... 45
5.2 功能实现 ...... 46
5.3 系统测试 ...... 48
5.4 本章小结 ...... 50
第 5 章 系统实现与测试
5.1 引言
通过前面章节对成捆钢筋端面图像的处理、识别以及计数的详细描述,本章将对所有的功能进行实现。 本文系统的设计是基于 i OS 系统的手机客户端开发,主要使用 Objective-c 语言,同时使用开源项目库 Open CV。 系统的主要功能分为四个模块:图像获取、图像预处理、识别与计数以及数据分享。图像获取模块主要负责对现场的钢筋端面图像进行获取,或者打开手机本地相册的图像数据;图像预处理模块主要负责对原始图像进行分割、滤波、降噪以及二值化处理;识别与计数模块主要负责对钢筋端面图像的识别以及计数;数据分享可以通过 API 接口实现对数据的分享。系统的主界面如图 5.1 所示。图像获取包括两种方式,一种是通过点击程序首页的“本地相册”从手机本身的图库中选择图像进行处理;另外一种便是调用手机摄像头拍摄照片。在拍摄照片时尽量选择好的角度以及光线,对后期的预处理以及识别计数将会有很大的帮助。获取到图像信息之后,根据第三章的预处理流程设计每一个页面,其中包括 ROI提取、图像灰度化、图像滤波、形态学滤波、图像二值化、二值图像形态学处理,每个功能都会在单独的页面进行操作,在操作页面提供参数调整的选项。页面显示如图 5.2所示。
........
总结
在钢材企业以及建筑工地来说,成捆钢筋的自动计数是很重要的环节。传统的称重计数方式或者在线计数仪器存在成本高、效率低以及误差大等问题,而现在市场上尚无成熟的手机端成捆钢筋自动计数 APP 系统,因此,本文开展了成捆钢筋自动计数 APP的研究。本文的总体研究内容如下:
(1)综述了成捆钢筋端面自动计数的国内外研究现状,介绍了图像分割技术的发展,探讨了成捆钢筋端面识别与计数的发展,为基于图像处理的成捆钢筋自动计数 APP的研究和开发的后续系统设计工作奠定了基础。
(2)介绍了基于图像处理的成捆钢筋自动计数 APP 系统的硬件以及软件环境,通过分析必要的图像处理流程,确定了该系统的系统架构,并对每个功能模块的设计进行了分析与实现。
(3)实现了图像 ROI 区域提取。通过分析背景复杂的现场钢筋的图像,为了剔除复杂的背景提高图像处理速度与钢筋端面识别的效率,分析并实现基于图论的 Grab Cut算法,对钢筋端面图像的分割。并针对图像增强问题详细介绍了