Tôi muốn trích xuất khung hình từ video và áp dụng một số bộ lọc trên đó như gabor/hough vv Thư viện Java nào sẽ là hoàn hảo để xử lý tất cả các loại mã hóa video? Tôi đã nhìn vào GStreamer, JMF, Xuggler vv nhưng tôi không thể quyết định cái nào là tốt nhất. Tôi cũng đang tìm cách chỉnh sửa các khung hình và tạo video bằng các khung hình mới.Thư viện xử lý video cho Java
Trả lời
Nếu bạn đang tìm kiếm các hoạt động ở mức độ thấp như giải nén khung và thao tác chúng, thì Xuggler sẽ là lựa chọn tốt nhất, vì các API được hướng xung quanh mức thấp này. Nó hoạt động trên ffmpeg để có thể xử lý tất cả các loại mã hóa video.
Không sử dụng JMF cho bất cứ điều gì, cũ, lỗi thời và lỗi - GStreamer là tốt, nhưng API cho vay nhiều hơn để chơi video hơn là thao tác các khung hình.
JMF là lựa chọn tốt. Nhưng nếu thời gian xử lý quan trọng trong mã của bạn, tốt hơn là sử dụng Xuggler. Rõ ràng, JMF là tổng quát hơn Xuggler.
Xuggler, vâng. Nhưng nếu bạn đang làm việc trên rất nhiều xử lý hình ảnh, bạn nên đi với OpenImaj. Thư viện này sử dụng Xuggler như sự phụ thuộc của nó, nhưng đó không phải là tất cả những gì nó làm. Hãy suy nghĩ về khả năng của Opencv mà không thiếu tốc độ mà bạn nhận được trong Java. Ngoài ra, tất cả nó đòi hỏi là thêm một phụ thuộc maven và bạn tốt để đi. Số lượng mã cũng giảm.
Lưu ý: Tôi vẫn đang xem xét thư viện và sẽ tiếp tục cập nhật câu trả lời của tôi về cách thực hiện điều này.
Giới thiệu Video: https://www.youtube.com/watch?v=TNEQ0eNqLgA
Bạn có thể thử Marvin Framework. Nó sử dụng JavaCV để mã hóa video và truy cập thiết bị, nhưng tất cả các thuật toán xử lý hình ảnh là Java thuần túy.
Rất dễ tải video và xử lý khung trong thời gian thực, như được minh họa trong ví dụ phát hiện cạnh bên dưới. đang
Nguồn:
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. thư viện video java p2p?
- 2. Thư viện xử lý tín hiệu trong Java?
- 3. Thư viện mã hóa video cho iOS
- 4. Thư viện xử lý ảnh Haskell?
- 5. Tìm thư viện xử lý hình ảnh cho pure Ruby
- 6. Thư viện xử lý ảnh Ruby/Rails
- 7. Thư viện xử lý hình ảnh
- 8. Thư viện xử lý PDF ở Erlang
- 9. Thư viện iCalendar tốt nhất cho Java?
- 10. Thư viện/hướng dẫn để thao tác video trong java
- 11. Xử lý video trong Android
- 12. Thư viện SSH cho Java
- 13. Thư viện UPnP cho Java
- 14. Thư viện WebP cho java?
- 15. thư viện java cho zip64
- 16. Thư viện thư rác cho Java?
- 17. Thư viện C++ để xử lý tín hiệu
- 18. Chính sách xử lý ngoại lệ trong thư viện
- 19. thư viện thông tin hệ thống/xử lý di động
- 20. Thư viện Java để lưu trữ và xử lý đồ thị lớn (lên tới 600k đỉnh)
- 21. Thư viện Java để xử lý chuỗi văn bản/chuỗi với các tiện ích unix/linux
- 22. Thư viện xử lý thẻ tín dụng xử lý nhiều cổng người bán?
- 23. cách xử lý ngoại lệ chưa được xử lý trong thư viện trong node.js
- 24. Thư viện xử lý hình ảnh nhanh nhất
- 25. Thư viện C++ để xử lý eps/pdf
- 26. thư viện xử lý hình ảnh nhanh nhất?
- 27. Phần mềm Thư viện Synth cho Java
- 28. Chú thích Java - Có thư viện trợ giúp nào để đọc/xử lý chú thích không?
- 29. Thư viện Java Java
- 30. OpenCV 2.4 in python - Xử lý video
Cảm ơn! Tôi đoán đó là Xuggler rồi. Nó cũng giống như OpenCV cho Java có thể được cấu hình bằng tay http://answers.opencv.org/question/2137/wrapping-opencv-with-desktop-java-building-for-64/ - bất kỳ ý tưởng nào về điều này sẽ tốt hơn ? – abhishek
Tôi đã không uesd OpenCV vì vậy không thể thực sự bình luận, nhưng vẫn có thể nghiêng về phía Xuggler vì nó là một Java API thuần túy mà sẽ làm cho nhiệm vụ dễ dàng hơn. – berry120