2013-08-12 14 views
5

Dies ist meine erste Veröffentlichung hier und hoffe auf ein positives Ergebnis, da meine Forschung fast abgeschlossen ist.Region of Interest in Videodatei

Ich möchte in meinem Code eine Funktion hinzufügen, die nur den definierten Bereich von Interesse einer Videodatei verarbeitet.

(Ich kann nicht Bild posten, da ich noch nicht über einen guten Ruf, aber gleiche Frage hier gepostet wird ---> http://answers.opencv.org/question/18619/region-of-interest-in-video-file/)

Storyboard:

Ich mache ein Programm in C++/OpenCV, die die Fußgänger und Fahrzeuge so aussehen lassen, dass sie nicht in der Szene sind/verschwinden, indem sie den laufenden Durchschnitt des Videoframes erhalten. Das habe ich schon gemacht. Jetzt ist mein Problem, ich möchte nur den Teil des Videos, der unter der Region von Interesse ist, verarbeitet werden, weil ich die Beleuchtung/Beleuchtung der Weihnachtslichter beibehalten will, während sie blinken.

Warum? Ich möchte diese Methode verwenden, um nur die blinkenden Lichter dieser kommenden Weihnachtssaison einzufangen, ohne dass Fahrzeuge und Leute in der Szene gestört werden.

Wie kann ich das tun? Ich meine, eine Region von Interesse in einer Videodatei zu erhalten.

Vielen Dank im Voraus.

Antwort

3
  1. Fixieren Sie Ihre ROI-Position.
  2. Nimm die Region von jedem Frame des Videos.
  3. Dann verarbeiten Sie es.
  4. Für alle Bilder anwenden.

So:

cv::Rect ROI(startX,startY,width,height); 
while(1) 
{ 
    cap.read(frame); 
    temp = frame(ROI); 
    process(temp); 
} 
+0

Dank @Barshan Das, BTW, was der Wert meiner x sein sollte, y, Breite, Höhe Sag mein Video-Frame 640x360 ist dann wie das Bild vorschlagen, mein Wunsch Region von Interesse ist um 640x100.Auch was meinst du mit nehmen Sie die Region von jedem Rahmen des Videos? – mabg

+0

startX- und startY-Werte sind der Koordinatenwert des oberen linken Pixels Ihrer Interessensregion. Breite und Höhe sind die Breite und Höhe Ihrer Region von Interesse. In Ihrem Fall wird es wahrscheinlich sein: cv :: Rect ROI (0,0,640,100); Region von jedem Bild des Videos bedeutet: nehmen Sie den ersten Frame aus dem Video. Holen Sie den Bildausschnitt unter Ihre Interessensregion. Als nächstes nehmen Sie den zweiten Frame aus dem Video und machen das gleiche. und so weiter für alle Bilder. – Barshan