2011-12-31 35 views
5

Tôi đang làm việc trên hệ thống thị giác robot và mục đích chính của nó là phát hiện các đối tượng, tôi muốn chọn một trong các thư viện này (CImg, OpenCV) và tôi có kiến ​​thức về cả hai.thư viện xử lý hình ảnh nhanh nhất?

Robot tôi đang sử dụng có Linux, CPU 1GHz và ram 1G và tôi đang sử dụng C++ kích thước hình ảnh là 320p.

Tôi muốn xử lý hình ảnh trong thời gian thực gần 20 trong số 25 khung hình mỗi giây. Theo ý kiến ​​của bạn, thư viện mạnh hơn l mặc dù tôi đã thử nghiệm cả hai và họ có cùng thời gian xử lý, cv mở tốt hơn một chút và tôi nghĩ đó là vì tôi sử dụng con trỏ với mã cv mở.

Hãy chia sẻ ý tưởng của bạn và lý do của bạn.

cảm ơn.

+2

Tốt nhất là nên trình bày câu hỏi xử lý hình ảnh đó trên trang web DSP -Q & A .. Hãy kiểm tra: http://dsp.stackexchange.com/ –

Trả lời

5

Tôi nghĩ bạn có thể có được hiệu suất tốt nhất khi bạn tích hợp - OpenCV với IPP.

Xem tài liệu tham khảo này, http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-open-source-computer-vision-library-opencv-faq/

Dưới đây là một tài liệu tham khảo http://experienceopencv.blogspot.com/2011/07/speed-up-with-intel-integrated.html

Hơn nữa, nếu bạn đóng băng các thuật toán hoạt động hoàn hảo, thường bạn có thể cô lập thuật toán của bạn và làm việc theo cách của bạn hướng làm tối ưu hóa nghiêm trọng (ví dụ như tối ưu hóa bộ nhớ, chuyển sang lắp ráp, vv) có thể chưa sẵn sàng để sử dụng.

+0

Nhưng IPP không miễn phí :) – ajlajlajl

+0

Bạn nên kiểm tra xem IPP có thể chạy trong hệ thống nhúng của bạn. OpenCV có một cơ sở người dùng rất lớn vì vậy bạn nên đi với nó. –

+0

OpenCV là câu trả lời. OpenCV sẽ là thư viện nhanh nhất và mạnh nhất mà bạn có thể sử dụng. – ahoffer

1

Nó thực sự phụ thuộc vào những gì bạn muốn làm (loại đối tượng bạn muốn phát hiện, độ chính xác, thuật toán bạn đang sử dụng vv ..) và thời gian bạn đã có. Nếu nó là để xử lý hình ảnh/máy tính chung, tôi sẽ gắn bó với OpenCV. Như Dipan đã nói, hãy xem xét tối ưu hóa thêm. Theo kinh nghiệm của tôi với tối ưu hóa cho Vision máy tính, nút cổ chai thường là trong băng thông kết nối bộ nhớ (hoặc bộ nhớ chính nó) và do đó bạn có thể phải thương mại trong chu kỳ (tính toán) để tiết kiệm thông tin liên lạc. Do hiểu thuật toán thực sự tốt để tiếp tục tối ưu hóa thuật toán (mà đôi khi có thể cung cấp những cải tiến lớn so với các trình biên dịch).

Các vấn đề liên quan