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.
Idealerweise würde ich den Fließwinkel im Farbton und die Helligkeitsstärke (bei einer Sättigung von konstant 100%) erhalten.
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% 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.
Unten sehen Sie das Ergebnis, wenn Sie den optischen Flusscode und die Beispielbilder von Ce Liu verwenden.
Tags und Links opencv image-processing