图 4 HSV色彩空间
其中,H值将色域范围限定在0~360°,每一种颜色均有确定的色域值,S与V值仅改变了颜色的饱和度与明亮度。因此本文提出用HSV颜色分割技术来初筛颜色特征明显的信号设备。
由表1可知,道岔和轨道区段的线条颜色均为浅蓝色,在用HSV颜色分割技术进行提取时,可以减少界面中其余颜色相近图元的干扰。道岔和轨道区段的HSV提取效果,如图5所示。
图 5 道岔与轨道区段HSV提取效果
3.4 模板匹配模板匹配算法[11]在图像处理中通常被应用于字符识别,而字符识别算法也不仅限于模板匹配,应用较为广泛的还有人工神经网络(ANN,Artificial Neural Network)与支持向量机(SVM,Support Vector Machine)算法,这2种算法在识别率和识别时间上均优于模板匹配算法,但都需提前进行大量样本字符的训练,更适合对复杂文本进行识别。在上位机界面中,设备名称通常仅由字母和数字组成,构成简单,从软件设计成本考虑无需采用ANN或SVM,因此本文采用模板匹配算法对信号设备名称进行识别。
3.4.1 算法原理匹配原理示意,如图6所示,用模板图像在输入图像中从左到右,从上到下进行遍历,并在遍历过程中实时计算匹配度,匹配度越大则模板图像与输入图像相同的可能性越大。
图 6 模板匹配示意
3.4.2 归一化相关系数匹配OpenCVSharp中提供了cv::matchTemplate()函数来实现匹配度计算,归一化相关系数匹配法是该函数所支持的匹配方式之一,当模板图像与输入图像完全匹配时结果为1,完全负相关匹配时结果为−1,完全不匹配则结果为0。
相关系数匹配使用原图像与其均值的差、模板图像与其均值的差二者之间的相关性进行匹配,并在该基础上做了归一化处理,匹配度R(x,y)的计算,如式(1)所示。
R(x,y)=∑x′,y′T(x′,y′)⋅I(x x′,y y′)−1w⋅h∑x′,y′T(x′,y′)⋅∑x′,y′I(x x′,y y′)∑x′,y′T2(x′,y′)−1w⋅h(∑x′,y′T(x′,y′))2−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−⎷⋅∑x′,y′I2(x x′,y y′)−1w⋅h(∑x′,y′I(x x′,y y′))2−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−⎷R(x,y)=∑x′,y′T(x′,y′)⋅I(x x′,y y′)−1w⋅h∑x′,y′T(x′,y′)⋅∑x′,y′I(x x′,y y′)∑x′,y′T2(x′,y′)−1w⋅h(∑x′,y′T(x′,y′))2⋅∑x′,y′I2(x x′,y y′)−1w⋅h(∑x′,y′I(x x′,y y′))2 | (1) |
式中:
T与 I 分别为模板图像与原图像的矩阵;
R(x,y)为匹配度;
(x,y)为当前遍历区域在 I 矩阵中左上角元素坐标;
T(x’,y’)为 T 矩阵中对应坐标的元素值;
I(x’,y’)为 I 矩阵中对应坐标的元素值;
w与h分别为模板图像的宽与高。
对于T 覆盖在I上的每个位置,将产生一个匹配度R(x,y),并保存在结果矩阵R中。当 I 被 T 遍历完毕时,需要使用cv::minMaxLoc()寻找R中的最大值,该值越接近于1,匹配效果越好。应用模板匹配算法实现信号机名称识别示例,如图7所示。
图 7 信号机名称模板匹配示例
4. 自动提取站场数据4.1 流程设计综合上述内容,现设计信号机、道岔和轨道区段的识别与数据提取流程,如图8所示。向图像识别系统输入上位机界面图像后,通过图像预处理,对图像进行灰度变换、二值变换和中值滤波;针对不同信号设备分别进行识别处理,提取相关属性数据并进行保存。