Desidero estrarre i frame da un video e applicare alcuni filtri su di esso come gabor/hough ecc. Quale libreria Java sarebbe perfetta per gestire tutti i tipi di codifica video? Ho osservato GStreamer, JMF, Xuggler ecc. Ma non sono in grado di decidere quale sarebbe il migliore. Sto anche cercando di modificare i frame e realizzare il video con i nuovi frame.Libreria di elaborazione video per Java
risposta
Se stai cercando di eseguire operazioni di basso livello come estrarre i frame e manipolarli, Xuggler sarebbe la scelta migliore, perché le API sono orientate intorno a questo livello basso. Funziona su ffmpeg in modo da poter gestire tutti i tipi di codifiche video.
Non utilizzare JMF per nulla, è obsoleto, obsoleto e bacato.
JMF è una buona scelta. Ma se il tempo di elaborazione è importante nel tuo codice, è meglio usare Xuggler. Ovviamente, JMF è più generale di Xuggler.
Xuggler, sì. Ma se hai intenzione di lavorare su un sacco di elaborazione delle immagini, dovresti andare con OpenImaj. Questa libreria usa Xuggler come dipendenza, ma non è tutto quello che fa. Pensa di avere funzionalità di Opencv senza la mancanza di velocità che ottieni in Java. Inoltre, tutto ciò che serve è aggiungere una dipendenza di esperti e sei a posto. Anche la quantità di codice è ridotta.
Nota: Sto ancora esaminando la libreria e continuerò ad aggiornare la mia risposta su come va.
video introduttivo: https://www.youtube.com/watch?v=TNEQ0eNqLgA
si può provare Marvin Framework. Utilizza JavaCV per codifiche video e accesso ai dispositivi, ma tutti gli algoritmi di elaborazione delle immagini sono puramente Java.
È molto facile caricare un video ed elaborare i frame in tempo reale, come mostrato nell'esempio di rilevamento dei bordi di seguito. Codice
Fonte:
import static marvin.MarvinPluginCollection.*;
public class SimpleVideoProcessing extends JFrame implements Runnable{
private MarvinVideoInterface videoAdapter = new MarvinJavaCVAdapter();
private MarvinImagePanel videoPanel = new MarvinImagePanel();
private MarvinImage videoFrame, videoOut = new MarvinImage(640,480);
public SimpleVideoProcessing() throws MarvinVideoInterfaceException{
super("Simple Video Processing using Marvin");
add(videoPanel);
// Load video file and start the processing thread
videoAdapter.loadResource("./res/snooker.wmv");
new Thread(this).start();
setSize(640,500);
setVisible(true);
}
public void run() {
try {
while(true){
// Request, process and show the video frame.
videoOut.clear();
videoFrame = videoAdapter.getFrame();
prewitt(videoFrame.clone(), videoOut);
videoPanel.setImage(videoOut);
}
} catch (MarvinVideoInterfaceException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws MarvinVideoInterfaceException {
new SimpleVideoProcessing().setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
- 1. Libreria di elaborazione del segnale in Java?
- 2. Elaborazione video in Android
- 3. opzioni di elaborazione immagini/video
- 4. Libreria di elaborazione delle immagini per Android?
- 5. Libreria di elaborazione immagini Haskell?
- 6. Libreria di elaborazione immagini Android
- 7. Elaborazione video con GPUImmagine Android
- 8. libreria python per dividere video
- 9. libreria di elaborazione immagini più veloce?
- 10. Libreria di elaborazione PDF in Erlang
- 11. Elaborazione annotazione java di eclipse
- 12. Elaborazione del fotogramma video Android per fotogramma durante la registrazione
- 13. Elaborazione XSLT con Java?
- 14. Libreria di geometria per Java
- 15. Libreria di valute per Java
- 16. Come impostare java percorso libreria per l'elaborazione
- 17. Libreria matematica per Java
- 18. Logger per libreria Java
- 19. Libreria Beep per Java?
- 20. Libreria UPnP per Java
- 21. Libreria WebP per java?
- 22. Libreria BSON per java?
- 23. Libreria Java consigliata per la creazione di un video a livello di programmazione
- 24. lib di elaborazione di immagini open source in java
- 25. C++ tutorial elaborazione di immagini withuot libreria di 3a parte
- 26. quadro di elaborazione parallela in java
- 27. Elaborazione di file enormi in java
- 28. Java elaborazione dei file parallela
- 29. Problema entità elaborazione XML Java?
- 30. Play 2: play.libs.WS VS Libreria client di terze parti per elaborazione asincrona
Grazie! Immagino che sia Xuggler allora. Sembra anche che OpenCV per Java possa essere configurato manualmente http://answers.opencv.org/question/2137/wrapping-opencv-with-desktop-java-building-for-64/ - qualche idea su se sarebbe meglio ? – abhishek
Non ho mai visto OpenCV, quindi non posso davvero commentare, ma probabilmente mi rivolgo a Xuggler dato che si tratta di una pura API Java che dovrebbe semplificare il compito. – berry120