- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
仪表图像检测指标[![仪表图像检测指标][1]][1]
我想实时跟踪仪表上每个指标的当前状态。两个指标可以在不同的时间显示在同一个地方
为了实现速度计指示器检测,我尝试了以下方法,
上述实现中面临的问题是,当任何其他图形在此区域显示时,或者如果仪表播放任何动画并且该动画穿过指示器区域,则会检测到错误的 Blob 并获得错误的结果。
上述实现中面临的问题是,在点火状态和点火关闭状态下,很少有指示灯显示不同,然后由于背景不同导致模板图像匹配失败
例如,根据点火状态(分别为点火关闭和点火开启),仪表上的指示器可以以两种方式显示
前雾灯在点火开关开启状态下的图像[![前雾灯在点火开关ON状态下的图像][2]][2]
前雾灯在点火开关关闭状态下的图像
[![点火开关关闭状态下前雾灯开启图][3]][3]
最佳答案
很高兴向我们展示您的思考过程!
对于此类形状检测和变化,最大的问题是泛化。指示的形状是一致的(对象),但场景发生变化(背景)。考虑到这种变化量,这种“启发式”方法不会返回好的结果。
您应该对问题实现机器学习方法,详细说明您自己的指标和标签数据集,组织一切并训练您自己的解决方案。
SVM - 支持向量机:不是最通用的方法,但可以生成更轻的模型并且训练起来比较快。您甚至可以使用 Opencv 训练您自己的 SVM。 Application example | Training example
CNN - 卷积神经网络:非常通才且具有一定的抗噪能力,这绝对是我的“首选”方法。训练对象检测模型最简单和最快的方法是使用 Keras。 Application example | Training example
PS:我带来的大部分技术都没有在 C# 中实现(主要是 Python 和 C++),正如问题所要求的那样,但是一旦推理模型(SVM、CNN 等)被训练和生成,更新版本的EmguCV 可以无缝导入和使用它们。
关于c# - 如何使用 emgucv/opencv/Aforge.Net/Accord.Net 在 50-100 毫秒内实时检测仪表中的指示灯和状态(ON-OFF、颜色、闪烁),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57820544/
C#用户控件之指示灯 在体现通讯状态、运行状态等用一个靓眼的指示灯如何做? 思路(GDI) 外环用笔绘制(Pen),内圆用画刷(SolidBrush); 两个方法(用笔画圆,用画
我正在寻找一种简单的方法来创建可以打开和关闭的指示灯。单选按钮看起来很适合这个,它们甚至看起来像灯,但您无法将它们关闭。有没有一种简单的方法可以修改它们以便将它们关闭?或者有更简单的解决方案吗? (我
我是一名优秀的程序员,十分优秀!