Heim >Java >Öffnen Sie die CV-VideoCapture-Lesemethode

Öffnen Sie die CV-VideoCapture-Lesemethode

王林
王林nach vorne
2024-02-10 18:06:08716Durchsuche

php-Editor Banana stellt heute eine Methode vor, um CV VideoCapture zum Lesen zu öffnen. Im Bereich Computer Vision ist VideoCapture eine häufig verwendete Klasse zum Lesen von Einzelbildern aus Videodateien oder Kameras. Durch die Verwendung der VideoCapture-Klasse können wir den Videostream problemlos abrufen und eine anschließende Bildverarbeitung und -analyse durchführen. In diesem Artikel erfahren Sie, wie Sie mit der VideoCapture-Klasse Videodateien oder Kamerabilder öffnen und lesen. Unabhängig davon, ob Sie Anfänger oder erfahrener Entwickler sind, können Sie diesen Artikel lesen, um zu erfahren, wie Sie die VideoCapture-Klasse zum Verarbeiten von Videodaten verwenden. Lass uns einen Blick darauf werfen!

Frageninhalt

Ich verwende eine Anwendung namens Android Studio, um meinen gesamten Code zu schreiben. Ich habe den folgenden Code geschrieben:

mat fieldimage = new mat();
videocapture.read(fieldimage);

Aber die Lesemethode des Videoaufnahmeobjekts gibt einen booleschen Wert zurück. Wenn ich also richtig liege, sollte dieser Code einen Fehler auslösen. Android Studio gibt jedoch keinen Fehler aus. Löst dieser Code einen Fehler aus? Wenn ja, könnte dieser Code ihn ersetzen?

Mat fieldImage = new Mat();
boolean finishedCapturing =  videoCapture.read(fieldImage);
while(!finishedCapturing) {
finishedCapturing =  videoCapture.read(fieldImage);
}

Workaround

Zuallererst: Wenn eine Methode einen Rückgabewert hat, müssen Sie den Wert nicht abrufen. Normalerweise gibt keine IDE einen Fehler aus, wenn Sie den Rückgabewert nicht erhalten. Wenn Ihnen eine Methode jedoch einen Rückgabewert liefert, sollten Sie diesen akzeptieren und wie von der Methode erwartet behandeln.

Für Ihren Fall gibt das Javadoc von Videocapture an, dass der Rückgabewert angibt, ob das Bild erfasst werden kann.

In Ihrem Fall können Sie also so etwas tun

Mat fieldImage = new Mat();
boolean hasReadFrame = true;
// Have a do-while loop to only have once the read call
do {
    // Check if a frame has read
    hasReadFrame =  videoCapture.read(fieldImage);
    // after reading, you could do some more logic with the fieldImage
} while (hasReadFrame);

Natürlich müssen Sie bei Bedarf eine Fehler-/Ausnahmebehandlung hinzufügen.

Das obige ist der detaillierte Inhalt vonÖffnen Sie die CV-VideoCapture-Lesemethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen