检测到Off状态
This commit is contained in:
@@ -5,11 +5,13 @@ using Emgu.CV.CvEnum;
|
||||
using Emgu.CV.Structure;
|
||||
|
||||
public enum LedState { Off, On }
|
||||
|
||||
public enum LedColor { Unknown, Red, Green, Blue }
|
||||
|
||||
public class LedDetector
|
||||
{
|
||||
private const int BRIGHT_LIMIT = 110;
|
||||
private const int SAT_LIMIT = 35;
|
||||
|
||||
public Tuple<LedState, LedColor> Detect(Image<Bgr, byte> image, Rectangle roi)
|
||||
{
|
||||
using (Image<Bgr, byte> subImg = image.GetSubRect(roi))
|
||||
@@ -27,9 +29,12 @@ public class LedDetector
|
||||
S.Dispose();
|
||||
V.Dispose();
|
||||
|
||||
bool isOff = (avgS < 38) || (avgV < 55);
|
||||
if (isOff)
|
||||
bool isOn = avgV > BRIGHT_LIMIT && avgS < SAT_LIMIT;
|
||||
|
||||
if (!isOn)
|
||||
{
|
||||
return new Tuple<LedState, LedColor>(LedState.Off, LedColor.Unknown);
|
||||
}
|
||||
|
||||
LedColor color = LedColor.Unknown;
|
||||
if ((avgH >= 0 && avgH <= 10) || (avgH >= 170 && avgH <= 180))
|
||||
|
||||
Reference in New Issue
Block a user