基于MATLAB软件的集装箱箱号识别系统

2019-08-09 07:14王梦麒宋广军
水运管理 2019年6期
关键词:MATLAB软件图像处理

王梦麒 宋广军

【摘 要】 为提高集装箱自动化装卸效率,基于MATLAB软件建立集装箱箱号识别系统,通过图像预处理、图像摆正、字符识别匹配等3个环节对已获得的图像进行识别,以得到图像中集装箱的具体号码。该系统可以避免传统集装箱管理过程中人工辨别易出现的错误和疏忽问题。

【关键词】 MATLAB软件;图像处理;集装箱箱号识别

0 引 言

近几年,我国对外贸易快速发展,各港口进出口货物吞吐量日益提升,散杂货集装箱化率也不断提高。集装箱货物在世界海运贸易中占据很大的贸易价值量,对经济发展有着积极的推动作用,因此集装箱装卸作业技术的研究备受重视。集装箱自动化装卸作业,需要计算机系统能在各种复杂的环境下进行视觉定位,从而实现对集装箱的各种运输控制。可见,对集装箱进行基于图像处理技术的箱号识别工作是很有必要的,有助于提升集装箱自动化装卸效率。

集装箱箱号识别过程主要包括获取集装箱图像、图像预处理、图像摆正、识别匹配、输出结果。

1 图像预处理

1.1 濾波去噪

集装箱箱号识别系统所获取的集装箱图像带有一定的噪声干扰,这时需要对获取的集装箱图像进行去噪滤波,同时进行集装箱图像的灰度处理、集装箱图像的边缘检测和图像摆正、集装箱图像的RGB模式像素提取等,可以采用均值滤波器或中值滤波器对图像进行滤波处理。

1.1.1 均值滤波器

均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y)。常用等式关系为

均值滤波本身存在着固有的缺陷,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。

1.1.2 中值滤波器

中值滤波是一种非线性数字滤波技术,主要用于抑制脉冲噪声,可以完全滤除尖波干扰噪声,同时对目标图像边缘特性也有较好的保护。

中值滤波可以过滤尖峰脉冲,滤波后的数据可保持原始图像的方向,同时消除尖峰值的影响。以一维信号的中值滤波为例,灰度排列为110、90、100、130、120、210、80。若按照从大到小来进行排列,其结果为80、90、100、110、120、130、210,其中间位置上的灰度值110即为该灰度序列的中值。一维信号的中值滤波器实际上是用一个中值来代替信号值事先所规定的位置(通常是指原始信号序列的中心位置)。由以上序列可知,中值滤波的结果就是剔除序列110、90、100、130、120、210、80中的信号序列峰值210,再用之前计算求出的中值110来代替,得到的滤波序列就是90、130、100、110、110、120、80。若210是此序列的一个噪声信号,那么噪声点就会被消除。

1.2 集装箱图像灰度处理

图像灰度处理就是将一个彩色图像转换成一个灰度图像的过程。彩色图像中的像素色彩是由R(Red)、G(Green)、B(Blue)的3个分量来确定的,每一个分量的值是0~255,因此,像素可以是一组超过1 600万级的变化(255 ?255 ?255)。灰色图像是R、G、B 3个分量的同一个特殊彩色图像,一个像素的变化范围为256种,所以数字图像处理通常是将各种格式的图像变成灰色图像,这样一来就使得后续图像的计算量变小。图像灰度处理可以由以下两种方式实现。

(1)将每个像素的R、G、B 3种分量的平均值再平均分配给像素的3个分量。

(2)基于颜色空间YUV编码方法,从灰度图像亮度的级别,可以根据所期望的变化和YUV颜色空间值创建亮度Y与R、G、B之间的对应关系,关系式为

1.3 集装箱图像的边缘提取

边缘检测是计算机视觉和图像处理中的一个基本问题。检测的关键之处是识别数字图像的亮度显著变化的点。常见的边缘检测算子有Canny算子和Sobel算子。

(1) Canny算子。Canny算子是一种最优的边缘检测算法。最优边缘检测的含义是:好的检测算法能够尽可能多地识别出图像的实际边缘,要求实际边缘与所识别的边缘尽可能接近,图像中的边缘只可以被识别一次。任何边缘检测算法无法处理原始数据,因此,应使用高斯平滑函数对原始数据作卷积运算。图像中的边缘可以在不同的方向显示,所以Canny算法使用4个掩模来检测水平、斜向和垂直方向的边缘。由像素点的最大值和边缘的方向生成图像中每个像素点的梯度亮度和原始图像梯度亮度的方向。亮度相对高的梯度有可能是边缘,但目前还没有确切值来限制其具体值,因此使用延迟阈值。延迟阈值需要低阈值和高阈值两个阈值。取用较大的阈值通过导出的方向信息来识别比较确定的真实边缘,并跟踪整个边缘;跟踪时,使用较小的阈值,直至回到起点都可以跟踪到模糊曲线。这一过程完成后,会得到一个二值图像,每个像素点表示是否为该点的边缘。

(2)Sobel算子。Sobel算子是典型的边缘检测算子并且是基于一阶导数的。该算法提供类似的局部平均运算,因此噪声会有一个平滑的效果,是一个可以去除噪声影响的好方法。Sobel算子分别在纵向和横向的模板中组成一组3 ?3阵列,与平面图像作卷积运算,获取垂直和水平方向上的大致差值。

2 集装箱图像的摆正

对于有可能出现不一样图像的情况,可对图像作出校正处理,此系统采用Radon变换将图像进行摆正处理。Radon变换可以看作是平行束对图像的线积分,变换角度默认是逆时针。

3 结 语

集装箱的箱号识别是提高集装箱自动化管理技术的必要途径。本文所设计的集装箱箱号识别系统使用MATLAB软件进行模拟和测试是实际有效的,可以提高识别集装箱箱号的效率。

猜你喜欢
MATLAB软件图像处理
视觉系统在发动机涂胶的应用
“课程思政”视域下职业学校《图像处理》课程教学改革实践
构建《Photoshop图像处理》课程思政实践教学路径的探索
基于图像处理与卷积神经网络的零件识别
基于新一代信息技术的Photoshop图像处理课程开发与建设
MATLAB软件在数学模型课程中的应用
基于神经网络对CFRP砼梁的可靠度分析
磁性材料磁化曲线和磁滞回线的Matlab绘制与拟合
太阳影长的参数模型研究
Matlab符号函数绘图在普通物理教学中的应用