Heim  >  Artikel  >  Java  >  Schnappschuss von der Systemkamera mit OpenCV in Java machen

Schnappschuss von der Systemkamera mit OpenCV in Java machen

王林
王林nach vorne
2023-08-28 11:09:10737Durchsuche

Schnappschuss von der Systemkamera mit OpenCV in Java machen

Einführung

OpenCV (Open Source Computer Vision Library) ist eine Open-Source-Softwarebibliothek für Computer Vision und maschinelles Lernen. Es enthält mehr als 2500 Optimierungsalgorithmen und wird häufig in Echtzeitanwendungen eingesetzt.

Java stellt über die JavaCV-Bibliothek Bindungen zu OpenCV bereit, sodass Java-Entwickler die Funktionen von OpenCV in ihren Anwendungen nutzen können. Eine dieser Anwendungen ist die Aufnahme von Bildern von Webcams.

Voraussetzungen

Um fortzufahren, benötigen Sie Folgendes: -

  • OpenCV ist auf Ihrem System installiert.

  • JavaCV, ein Wrapper für OpenCV in Java.

Erfassen Sie Schnappschüsse mit OpenCV

Um einen Schnappschuss aufzunehmen, müssen wir eine Instanz der VideoCapture-Klasse erstellen, die ein Videoaufnahmegerät darstellt. Anschließend können wir die Lesemethode verwenden, um Frames von der Videoquelle zu erfassen.

Beispiel

Sehen wir uns ein Beispiel an -

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.videoio.VideoCapture;
import org.opencv.imgcodecs.Imgcodecs;

public class Main {
   static { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); }
   
   public static void main(String[] args) {

      // Create a VideoCapture object
      VideoCapture camera = new VideoCapture(0);
   
      // Check if camera opened successfully
      if(!camera.isOpened()){
         System.out.println("Error: Camera not accessible");
         return;
      }
   
      // Capture a new frame
      Mat frame = new Mat();
      camera.read(frame);
   
      // Save the frame as an image
      Imgcodecs.imwrite("snapshot.png", frame);
   
      // Release the camera
      camera.release();
   }
}

Anleitung

Im obigen Code laden wir zuerst die OpenCV-Bibliothek.

Dann erstellen wir ein VideoCapture-Objekt für die Standardkamera (Index 0). Wenn Sie über mehrere Kameras verfügen und eine andere verwenden möchten, können Sie deren Index beim Erstellen des VideoCapture-Objekts angeben.

Wir verwenden die Methode isOpened, um zu überprüfen, ob die Kamera erfolgreich geöffnet wurde. Wenn auf die Kamera nicht zugegriffen werden kann, geben wir eine Fehlermeldung aus und kehren von der Hauptmethode zurück.

Als nächstes verwenden wir die Lesemethode, um ein Bild von der Kamera zu erfassen und es in einem Mat-Objekt zu speichern. Mat (kurz für Matrix) ist die Hauptbildstruktur in OpenCV, die zum Speichern von Pixeldaten verwendet wird.

Wir verwenden die imwrite-Methode in der Imgcodecs-Klasse, um den erfassten Frame als Bild zu speichern und ihn „snapshot.png“ zu nennen.

Schließlich verwenden wir die Freigabemethode, um die Kamera freizugeben und Ressourcen freizugeben.

Wenn Sie dieses Programm ausführen, erfasst es ein einzelnes Bild von Ihrer Webcam und speichert es als „snapshot.png“ in Ihrem Projektverzeichnis.

Fazit

Das Aufnehmen von Bildern von einer Webcam in Java mit OpenCV ist ein einfacher Vorgang, der zahlreiche Möglichkeiten für komplexere Anwendungen wie Gesichtserkennung, Bewegungserkennung usw. eröffnet. Das Verständnis der Verwendung der OpenCV-Bibliothek in Java bietet eine solide Grundlage für die Vertiefung in Computer Vision und Bildverarbeitung.

Das obige ist der detaillierte Inhalt vonSchnappschuss von der Systemkamera mit OpenCV in Java machen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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