[Chú ý: Đây là một viết lại của một earlier question đó được coi là không phù hợp và đóng cửa.]khuyến nghị cho thời gian thực phân tích pixel cấp của truyền hình (TV) Video
tôi cần phải làm một số phân tích pixel cấp video truyền hình (TV). Bản chất chính xác của phân tích này không phù hợp, nhưng về cơ bản nó liên quan đến việc xem từng điểm ảnh của mỗi khung hình của video truyền hình, bắt đầu từ luồng truyền tải MPEG-2. Nền tảng máy chủ sẽ là các máy Linux 64 bit đa cấp máy chủ.
Tôi cần thư viện có thể xử lý giải mã luồng truyền tải và hiển thị cho tôi dữ liệu hình ảnh trong thời gian thực. OpenCV và ffmpeg là hai thư viện mà tôi đang xem xét cho công việc này. OpenCV hấp dẫn bởi vì tôi đã nghe nói rằng nó dễ sử dụng các API và hỗ trợ phân tích hình ảnh phong phú, nhưng tôi không có kinh nghiệm sử dụng nó. Tôi đã sử dụng ffmpeg trong quá khứ để trích xuất dữ liệu khung hình video từ các tệp để phân tích, nhưng nó thiếu hỗ trợ phân tích hình ảnh (mặc dù IPP của Intel có thể bổ sung).
Ngoài các khuyến nghị chung của các phương pháp cho vấn đề này (không bao gồm việc phân tích hình ảnh thực tế), tôi có một số câu hỏi cụ thể hơn mà có thể giúp tôi bắt đầu:
- Are ffmpeg hoặc OpenCV thường được sử dụng trong ngành công nghiệp như nền tảng cho phân tích video theo thời gian thực hoặc có điều gì khác mà tôi nên xem xét?
- OpenCV có thể giải mã các khung hình video trong thời gian thực hay không và vẫn còn đủ CPU còn sót lại để thực hiện phân tích hình ảnh không tự phát, cũng trong thời gian thực?
- Đủ để sử dụng ffpmeg cho giải mã luồng truyền tải MPEG-2, hoặc có thích hợp hơn khi chỉ sử dụng thư viện giải mã MPEG-2 trực tiếp (và nếu có, cái nào)?
- Có định dạng pixel cụ thể cho khung hình đầu ra ffmpeg hoặc OpenCV đặc biệt hiệu quả khi sản xuất (như RGB, YUV hoặc YUV422, v.v ...) không?
Rất nhiều câu hỏi liên quan đến hiệu suất mà bạn đã hỏi chỉ phụ thuộc vào phần cứng bạn đang sử dụng. – karlphillip
@karlphillip Tôi nhận ra rằng sự lựa chọn của nền tảng sẽ tác động đến hiệu suất, nhưng nó sẽ không ảnh hưởng đến tất cả các tùy chọn thư viện như nhau? Nếu không, và bạn có thể nói về cách lựa chọn nền tảng sẽ mang lại lợi ích cho một thư viện nhiều hơn một thư viện khác, vui lòng chia sẻ. Phần cứng chưa được mua, vì vậy thông tin này có giá trị. –
Tôi đã thực hiện phân tích khung webcam thời gian thực với opencv bằng cách sử dụng trình bao bọc C++. Nó xoay quanh từng điểm ảnh và màu được kiểm tra, nó khá nhanh, vì tôi có thể chạy các ứng dụng khác như opera và ứng dụng khung nhìn 3d. Làm việc trên Linux. –