我面临一个让我发疯的问题,我希望有更好的方法来解决它!
我的程序从网络摄像头获取图像,其中包含 6 个白色方块中的 6 个黑色数字!
像这样的东西:
主要问题是背景不是黑色,而是天蓝色并且每个网络摄像头都有不同的自动背光校正,因此每个图像的亮度水平也不同。
所以我提取白色方形斑点的方法是尝试从图像中删除天蓝色/蓝色区域,应用灰度滤镜,最后开始执行此操作的循环:
- 将阈值设置为 250(最大值为 255)
- 应用阈值
new Threshold( thres ).Apply(image);
- 查看是否包含 6 个或更多正方形斑点
- 如果不是,则将阈值降低 5 并转到步骤 2。(如果阈值小于 200,则退出)
- 建立了六个或更多的方格
该循环用于补偿每个图像的亮度级别的差异。
是一种非常繁重的计算方法,我不知道如何改进或改变它!aForge 或片段 C# 代码中是否有一个函数可以帮助我改进这些区域的提取?任何人都可以建议我一个更好的方法来做到这一点?