Ich habe QVideoProbe
verwendet, um auf Kamera-Frames zuzugreifen. Meine Plattform ist Android.
Ich habe jede Kamerarahmen in QImage
konvertiert und dann Pixmap und Show auf QLabel
.
Mein Problem ist, dass dieser Prozess sehr langsam ist.
Frames werden sehr langsam angezeigt.
Kann ich QVideoFrame
direkt in QPixmap
oder einen anderen schnelleren Weg zum Anzeigen von Kamerarahmen konvertieren?
Hier ist mein Code:
1. Um von Video Frame zu QImage zu konvertieren, verwende ich qt interne Methode:
%Vor%Sie müssen einige Frames überspringen und nur einige anzeigen. Es erlaubt Ihnen, den Stream in maximal möglicher Geschwindigkeit zu handhaben. Ich mache das mit folgendem Code:
%Vor%Ich rufe es durch invokeMethod auf, nur weil frameprocessor in einem anderen Thread lebt, aber das ist nicht Ihr Fall, weil Sie es im UI-Thread anzeigen müssen. Andererseits könnten Sie die Umwandlung in QImage (oder QPixmap) in thread vornehmen Senden Sie das Ergebnis an den UI-Thread. Also hier ist Code, wie man das macht:
%Vor%Ah, ich muss auch sagen, dass MyVideoFrameProcessor beim Beenden der Verarbeitung ein Ereignis generiert und MyVideoHandler m_isBusy auf false schaltet.