Beste manier om toegang te krijgen tot webcamera in Java

Ik heb toegang tot de webcamera nodig met Java. Dit is wat ik wil doen

  1. Toegang tot webcam

  2. Nu kan de gebruiker de webcam zien werken omdat zijn gezicht zichtbaar is op het scherm
    (heb gehoord dat er bibliotheken zijn die de video-uitvoer van de webcam niet tonen)

  3. wanneer de gebruiker op de knop Opslaan klikt, een momentopname maken en opslaan

Ik heb al heel lang verschillende manieren geprobeerd om dit te doen.

  1. JMF – Nu is het dood
  2. FMJ – Nu is het ook dood
  3. VLCJ – te veel omdat ik geen muziek-/videospeler maak en verwacht dat VLC wordt geïnstalleerd
  4. Xuggler – te veel en hard werken
  5. JMyron – werkte niet
  6. JavaFX – Ik dacht dat het het zou kunnen, maar het lijkt erop dat het niet kan

Ik ben zelfs tevreden als de bibliotheek ALLEEN het bovengenoemde doet, want dat is genoeg voor mij. Maar ik verwacht dat het ook simpel is. Echt geweldig als het geen DLL’s gebruikt, omdat het niet platformonafhankelijk is als dat wel het geval is. Stel het zeer op prijs als het de camera kan DETECTEREN, zonder handmatig de cameranaam en andere informatie door te geven zoals in VLCJ (omdat er duizenden cameramerken kunnen zijn, dus ik kan er geen lijst van duizend elementen in maken). En ik maak een desktop-app, geen web-app.

Als je zo’n bibliotheek kent, laat het me dan alsjeblieft weten. Andere bibliotheken (die misschien niet aan al mijn vereisten voldoen, maar wel aan de basisvereisten) zijn ook welkom. Help alstublieft


Antwoord 1, autoriteit 100%

Ik denk dat het project dat u zoekt is: https://github.com/sarxos/webcam-capture(Ik ben de auteur)

Er is een voorbeeld dat precies werkt zoals je hebt beschreven – nadat het is uitgevoerd, verschijnt het venster waarin je, nadat je op de “Start”-knop hebt gedrukt, het livebeeld van het webcamapparaat kunt zien en het in een bestand kunt opslaan nadat je op ” hebt geklikt. Snapshot” (broncode beschikbaar, alstublieft merk op dat de FPS-teller in de hoek kan worden uitgeschakeld):

Het project is draagbaar (WinXP, Win7, Win8, Linux, Mac, Raspberry Pi) en er hoeft geen extra software op de pc te worden geïnstalleerd.

API is erg leuk en gemakkelijk te leren. Voorbeeld hoe een enkele afbeelding vast te leggen en op te slaan in een PNG-bestand:

Webcam webcam = Webcam.getDefault();
webcam.open();
ImageIO.write(webcam.getImage(), "PNG", new File("test.png"));

Antwoord 2, autoriteit 16%

Dit is al meerdere keren besproken op SO. Hier zijn een paar links om u op weg te helpen:

SO: Beeld van webcam vastleggen in Java?

SO: Wat is de beste methode om beelden van een live-videoapparaat vast te leggen voor gebruik door een op Java gebaseerde applicatie?

openCVF-applet: http://www.colorfulwolf.com/blog/2011/07/05/accessing-the-webcam-from-inside-a-java-applet/

config: http://ganeshtiwaridotcomdotnp.blogspot.in /2011/12/opencv-javacv-eclipse-project.html

Other episodes