OpenCV zeigt ein 2-Kanal-Bild an (optischer Fluss)

7

Ich habe einen optischen Fluss in einer 2-Kanal-32F-Matrix gespeichert. Ich möchte den Inhalt visualisieren, was ist der einfachste Weg, dies zu tun?

Wie konvertiere ich CV_32FC2 in RGB mit einem leeren blauen Kanal, etwas, das imshow verarbeiten kann? Ich benutze OpenCV 2 C ++ API.

Super Bonuspunkte

Idealerweise würde ich den Fließwinkel im Farbton und die Helligkeitsstärke (bei einer Sättigung von konstant 100%) erhalten.

    
Matt Montag 07.10.2011, 22:46
quelle

2 Antworten

17

imshow kann nur 1-Kanal-Graustufen- und 3-4-Kanal-BRG / BGRA-Bilder verarbeiten. Sie müssen also selbst eine Konvertierung durchführen.

Ich denke, du kannst etwas Ähnliches tun wie:

%Vor%     
Andrey Kamaev 08.10.2011, 15:01
quelle
5

Das MPI Sintel-Dataset enthält C- und MatLab-Code zur Visualisierung des berechneten Flusses. Laden Sie den optischen Ablauf der Grundwahrheit des Trainingssatzes von hier herunter. Das Archiv enthält einen Ordner flow_code , der den genannten Quellcode enthält.

Sie können den Code nach OpenCV portieren, jedoch habe ich einen einfachen OpenCV-Wrapper geschrieben, um den bereitgestellten Code einfach zu verwenden. Beachten Sie, dass die Methode MotionToColor aus der color_flow.cpp -Datei stammt. Beachten Sie die Kommentare in der folgenden Liste.

%Vor%

Unten sehen Sie das Ergebnis, wenn Sie den optischen Flusscode und die Beispielbilder von Ce Liu verwenden.

    
David Stutz 22.03.2015 21:50
quelle

Tags und Links