2016-04-05 8 views
3

Ich habe eine Webcam, die ein Gitter mit Löchern filmt und manchmal ist da ein farbiges Objekt auf einem Loch und manchmal nicht. etwas auf eines der Löcher gibt es oder nichtLeerstelle identifizieren OpenCV

enter image description here

ich noch Brainstorming, die versuchen, auf, herauszufinden, eine gute Lösung zu finden, wenn.

Wie ich es jetzt mache, indem ich das Bild in HSV umwandle und dann den Farbbereich der leeren Löcher auf unbeachtet lasse, dh nicht abgedeckte Quadrate (jedes Loch ist ein ROI). Das Problem ist, dass sich der Wert bei wechselnder Raumbeleuchtung ändert.

So sieht es in HSV aus (Objekte befinden sich an verschiedenen Positionen vom ersten Bild).

enter image description here

Würde die Lösung, um die Raumbeleuchtung, zunächst herauszufinden? Wie könnte man das machen? Oder gibt es etwas, das ich vermisse? Wie kann ich perfekt, unabhängig von den Lichtverhältnissen, herausfinden, ob eines der Löcher abgedeckt ist oder nicht? Ich bin nicht auf der Suche nach Code, sondern nach Ideen, wie so etwas (hoffentlich leicht) erreicht werden könnte.

+1

Ist die Raumbeleuchtung monochromatisch? Ist es konsistent über das Bild hinweg, oder ist es möglich, dass nur ein Teil der Decke einen Schatten enthält und der Rest hell? Können Sie ein "Kontroll" -Loch hinzufügen, das nie abgedeckt wird? –

+0

Ich mag die Kontrolle-Loch-Idee, könnte eine gute Lösung sein, auch wenn es möglich ist, dass die Decke Schatten Lampen enthalten könnte. Dennoch ist es eine gute Idee, die es wert ist weiter zu verfolgen. Vielen Dank! – Jonas

Antwort

0

Beachten Sie, dass, wenn das Loch nicht gefärbt ist, es eine Graustufenfarbe hat. So sind alle Grundfarbenkomponenten (R, G, B) ungefähr gleich groß. Und dann ist es egal, ob es eine hohe Helligkeit gibt (RGB wird wie 200, 195, 205) oder nicht (RGB wird wie 40, 30, 35). So können Sie maximale Differenz zwischen ihnen zählen und wenn dieser Unterschied mehr als Ihre Schwelle ist, können Sie sagen, dass es eine Farbe gibt.

+0

Ich bin mir nicht sicher, ob ich das verstehe. Die Farbe des freigelegten Ganzen ist nicht grau, sondern die Farbe der Decke, beeinflusst durch die Beleuchtung im Raum .. oder folge ich nicht? – Jonas

+0

@Jonas Was ist die Decke? In den Bildern, die Sie gepostet haben, sieht nichts wie eine Decke aus. Und was meinst du mit "ganz"? Meinst du "Loch"? –

+0

Ja, ich sah und reparierte das Loch - ganze Tippfehler, tut mir leid! Im ersten Bild sehen alle weiß aussehenden Quadrate die gefundenen Löcher. Die Kamera filmt am Raster, wo die farbigen Objekte platziert sind, also kein Objekt = Decke. Sorry, war nicht sehr spezifisch, sollte mein Setup geklärt haben! Vielen Dank – Jonas