2

我面临一个让我发疯的问题,我希望有更好的方法来解决它!

我的程序从网络摄像头获取图像,其中包含 6 个白色方块中的 6 个黑色数字!

像这样的东西:

在此处输入图像描述

主要问题是背景不是黑色,而是天蓝色并且每个网络摄像头都有不同的自动背光校正,因此每个图像的亮度水平也不同。

所以我提取白色方形斑点的方法是尝试从图像中删除天蓝色/蓝色区域,应用灰度滤镜,最后开始执行此操作的循环:

  1. 将阈值设置为 250(最大值为 255)
  2. 应用阈值new Threshold( thres ).Apply(image);
  3. 查看是否包含 6 个或更多正方形斑点
  4. 如果不是,则将阈值降低 5 并转到步骤 2。(如果阈值小于 200,则退出)
  5. 建立了六个或更多的方格

该循环用于补偿每个图像的亮度级别的差异。

是一种非常繁重的计算方法,我不知道如何改进或改变它!aForge 或片段 C# 代码中是否有一个函数可以帮助我改进这些区域的提取?任何人都可以建议我一个更好的方法来做到这一点?

4

0 回答 0