ビデオからフレームを抽出し、gabor/houghなどのフィルタを適用したいと思います。すべての種類のビデオエンコーディングを処理するのに最適なJavaライブラリはどれですか?私はGStreamer、JMF、Xugglerなどを見てきましたが、どちらが最善かを決めることはできません。私はまた、フレームを編集し、新しいフレームでビデオを作りたいと考えています。Java用ビデオ処理ライブラリ
6
A
答えて
8
フレームを抽出して操作するなどの低レベル操作を行う場合は、APIがこの低レベルに合わせて調整されるため、Xugglerが最適です。これはffmpegで動作するので、すべてのタイプのビデオエンコーディングを処理できます。
古い、古い、バグのあるものは何でもJMFを使用しないでください.GStreamerは良いですが、APIはフレームを操作するのではなく、動画を再生することができます。
1
JMFは良い選択です。しかし、コード内で処理時間が重要な場合は、Xugglerを使用する方がよいでしょう。明らかに、JMFはXugglerより一般的です。
0
Xuggler、はい。しかし、多くの画像処理に取り組んでいる場合は、OpenImajに行ってください。このライブラリは依存関係としてXugglerを使用していますが、それだけではありません。 Opencvの能力をJavaで得るスピードの欠如なしに考えることができます。また、必要なのは、依存関係を追加することだけです。コード量も削減されます。
ノート:私はまだライブラリを見直していますが、これについての私の答えは更新され続けます。
1
あなたはMarvin Frameworkを試すことができます。ビデオ符号化とデバイスアクセスにJavaCVを使用しますが、すべての画像処理アルゴリズムは純粋なJavaです。
以下のエッジ検出の例に示すように、ビデオをロードしてリアルタイムでフレームを処理するのは非常に簡単です。
ソースコード:
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. Pythonのビデオおよびオーディオ処理ライブラリ
- 2. Java/.NETのタスク処理ライブラリ
- 3. Javaの信号処理ライブラリ?
- 4. ビデオ処理パイプライン
- 5. MATLAB - ビデオ処理
- 6. android用オーディオ処理ライブラリ
- 7. Android用画像処理ライブラリ
- 8. Javaの自然言語処理ライブラリ
- 9. ビデオ処理用の画像バッファ
- 10. 音声処理用のPythonの音声処理ライブラリ
- 11. 画像処理ライブラリ
- 12. OpenCV:バックグラウンドキューでのビデオ処理
- 13. OpenCV 2.4 in python - ビデオ処理
- 14. Androidでのビデオ処理
- 15. アンドロイド、高速なビデオ処理
- 16. .NETでのビデオ処理
- 17. バッチ処理ビデオ(Matlab) - 問題
- 18. オーディオ処理/サウンドファイル分割用のMacライブラリ
- 19. WinForms用ユーザーフレンドリー例外処理ライブラリ(.NET)
- 20. 信号処理用のC++ライブラリ
- 21. Eclipseで処理ライブラリを使用する
- 22. pubnub処理/ java用noob
- 23. Dの画像処理ライブラリ?
- 24. ハスケル画像処理ライブラリ?
- 25. 注釈処理サードパーティのライブラリ
- 26. ライブラリでの例外処理
- 27. 最速画像処理ライブラリ
- 28. 処理 - 処理スケッチでビデオを録画して表示する
- 29. 長い処理時間を要するビデオ圧縮処理
- 30. バックグラウンド処理java
ありがとう!私はそれがXugglerだと思います。また、OpenCV for Javaを手動で設定できるように見えます。http://answers.opencv.org/question/2137/wrapping-opencv-with-desktop-java-building-for-64/ - これが良いかどうかについてのアイディア? – abhishek
私はOpenCVをuesdしていないので、本当にコメントすることはできませんが、Xugglerの方に傾いているのは、純粋なJava APIなので、タスクを容易にするはずです。 – berry120