我是MATLAB的新手,并试图实现以下车牌定位步骤:
到目前为止,这是我的进展。
代码:
[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');
输出:
如果有人可以指导我在这里做错了,我将非常感激。
答案 0 :(得分:3)
首先,你应该明白照明是背后的痛苦。当你不断学习新的算法时,你应该明白。
查看第一组图像,您可以看到印版是图像的重要部分。号牌设计用于在角色和背景之间进行对比。此外,整个背景相当顺利。当您查看底部的图像时,会出现很多伪影和锐利的强度过渡,这可以解释为什么渐变会产生噪音。
您正在尝试做的是使用类似[-1 1]
的过滤器进行过滤操作(或卷积)。查找matlab函数conv2
和filter
。
为降低噪音,您应该执行平均操作以及渐变。这将降低对噪声的敏感性。所以你的最终过滤器看起来像这个[-1 1;-1 1;-1 1]
。如果您正在尝试其他复杂的过滤器,请确保您的过滤器值已标准化。
使用所提出的方法检测车牌并不容易。它绝对应该让你开始。但是你真的需要开始阅读更多的算法。