计算车牌定位的垂直梯度

时间:2016-02-24 16:49:08

标签: matlab localization anpr

我是MATLAB的新手,并试图实现以下车牌定位步骤:

Vertical Gradient Computation

到目前为止,这是我的进展。

代码:

[rows,cols] = size(img);
image_gradient = zeros(rows,cols);

for i =1:1:rows
    for j =1:1:cols-1
        image_gradient(i,j) = abs( img(i,j+1) - img(i,j) );
    end
end

figure,imshow(image_gradient);title('Gradient');

输出:

Output of gradient computation

如果有人可以指导我在这里做错了,我将非常感激。

1 个答案:

答案 0 :(得分:3)

首先,你应该明白照明是背后的痛苦。当你不断学习新的算法时,你应该明白。

查看第一组图像,您可以看到印版是图像的重要部分。号牌设计用于在角色和背景之间进行对比。此外,整个背景相当顺利。当您查看底部的图像时,会出现很多伪影和锐利的强度过渡,这可以解释为什么渐变会产生噪音。

您正在尝试做的是使用类似[-1 1]的过滤器进行过滤操作(或卷积)。查找matlab函数conv2filter

为降低噪音,您应该执行平均操作以及渐变。这将降低对噪声的敏感性。所以你的最终过滤器看起来像这个[-1 1;-1 1;-1 1]。如果您正在尝试其他复杂的过滤器,请确保您的过滤器值已标准化。

使用所提出的方法检测车牌并不容易。它绝对应该让你开始。但是你真的需要开始阅读更多的算法。