比较两个图像时查找不同区域边缘的算法或工具

时间:2017-11-05 08:39:23

标签: algorithm image-processing openalpr

我正在开展一个社区项目,其目标是减少超速行为。为了识别汽车的车牌我正在使用OpenALPR。问题是它对摄像机位置敏感,即角度和OpenALPR在角度大于20度时检测到LP的麻烦(是的,我已经阅读了关于良好摄像机位置的建议但IRL有时他们不能满意)。

我发现问题是没有检测到LP区域。但是,手动裁剪图像以仅包含汽车而不对像素进行任何其他修改(如过滤)可以解决问题,并且OpenALPR能够检测到LP区域。

我正在寻找一种可以自动裁剪的解决方案。可以比较两个图像“base”和“target”的算法或工具,并返回目标图像中更改区域的坐标(左上角,右下角)。

替代解决方案是OpenALPR的不同配置文件。我正在试验这最后几个小时但没有成功。

基本图片如下所示: enter image description here

目标图片如下所示: enter image description here

(这些只是视频中的两帧)

(原始图像尺寸要大得多,即3840x2160)

是否有可以帮助我自动执行此任务的算法或工具?

1 个答案:

答案 0 :(得分:1)

基本方法是通过差分,即取每个像素的RGB分量值像素的绝对差值。在差异很大的地方,有一种检测。

但这可能效果不佳(并且它与给定的图像有关),因为两张图片可能略微不对齐,风可以移动植被。

所以我建议

  • 降低图像分辨率的重要因素(比如8);

  • 模糊缩小的图像;

  • 计算绝对差异;

  • 保持组件之间的最大差异;

  • 使用阈值进行二值化;

  • 最后使用连接组件标记来查找最重要的斑点并消除残留干扰。

enter image description here

确保刷新背景图像(当您确定没有车时)以避免每日漂移的影响(总是缓慢变化)。标准化图像强度以阻止变化是环境照明(通过云f.i。)也可能是有用的。