2013-11-25 22 views
10

Có ai vui lòng cung cấp một số thông tin chi tiết về việc tìm/tạo trình bao bọc OpenCV để sử dụng trong Octave không?Sử dụng thư viện OpenCV trong Octave

Tôi đã tìm thấy một số trang web cũ hơn nói về điều này nhưng không thể tìm ra được!

EDIT:

Trong trang này: http://octave-swig.sourceforge.net/octave-opencv.html Nó nói cho phiên bản mới nhất rằng: "3/27/08:.. Những ràng buộc đã được tích hợp vào OpenCV nguồn mới nhất hiện nay có sẵn chỉ từ OpenCV CVS"

Nhưng OpenCV 2.4.6 không có hỗ trợ cho Octave. Dường như tại một số điểm (OpenCV 2.0) có một "xây dựng với hỗ trợ octave" trong tệp cmake của OpenCV. Nhưng tùy chọn đó không tồn tại trong cmakelists.txt đi kèm với OpenCV nữa!

+0

Chính xác những gì không hoạt động từ nội dung cũ? –

+0

Vui lòng xem chỉnh sửa tôi đã thực hiện trong câu hỏi. – Mehrnoush

Trả lời

0

tôi sử dụng chức năng OpenCV biên soạn như MEX file trong Matlab và nó hoạt động trơn tru. Kể từ khi chức năng MEX nhìn gần như giống hệt nhau cho cả hai, Matlab và Octave, và tùy thuộc vào trình biên dịch và các chi tiết khác như vậy, bộ sưu tập như thế này

MEXOpenCV

có thể đó làm việc trực tiếp, hoặc là một điểm khởi đầu tốt đẹp cho bạn.

1

Phương pháp đầu tiên là Matlab interface generator có sẵn trong opencv contrib. Kho lưu trữ này cung cấp mã để tạo các trình bao bọc MEX cho các hàm OpenCV - các MEX này cũng thích hợp cho quãng tám, nhưng để thiết lập đúng, bạn cần tệp CMake cho chính OpenCV (ví dụ, bạn nên xây dựng nó từ các nguồn).

Như @McMa đã đề cập, có một liên kết tốt để thu thập các giao diện đã tạo cho Matlab/Octave: MEXOpenCV - bạn chỉ có thể sử dụng các nguồn hiện có để tạo MEX phù hợp cho quãng tám.

Đối với cả hai phương pháp khi bạn đã có C/C++ nguồn với giao diện Matlab (tức là C/C++ file với mexFunction 's), bạn có thể biên dịch chúng để MEX với lệnh sau đây (trong môi trường Linux, nhưng tôi cho rằng không có sự khác biệt lớn trong các cửa sổ):

mkoctfile --mex -l<opencv lib name> <source name>

nơi -l<opencv lib name> được yêu cầu mô-đun (cái gì đó như -lopencv_core -lopencv_imgproc), và <source name> là tập tin nguồn của bạn (với mexFunction) Tên.

Một số thông tin khác về mkoctfile có thể được tìm thấy trong số octave documentation page.

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