Ich versuche, die MATLAB-Bindungen für OpenCV 3.0 zu kompilieren, d. H. Den aktuellen Build von Github. Ich erhalte die folgenden Fehler:MATLAB-Bindings für OpenCV kompilieren
CMake Error at /opencv/modules/matlab/compile.cmake:47 (message):
Failed to compile createCalibrateDebevec:
/opencv/build/modules/matlab/src/createCalibrateDebevec.cpp:
In function ‘void mexFunction(int, mxArray**, int, const mxArray**)’:
/opencv/build/modules/matlab/src/createCalibrateDebevec.cpp:46:3:
error: ‘Ptr_CalibrateDebevec’ was not declared in this scope
Dies tritt bei mehreren Dateien auf. Ich fand diese thread, die ein paar Heilmittel diskutiert, nämlich. Hinzufügen von typedefs zur Datei bridge.hpp, aber dies führt zu noch mehr Fehlern beim Kompilieren. Ich fand auch dieses thread, das das Entfernen der problematischen CPP-Dateien und das Kompilieren vorschlug. Dies führte zu einer fehlerfreien Kompilierung gefolgt von der üblichen make install. Doch von innen MATLAB jede OpenCV-Funktion aufrufen führt nun zu Fehlern wie:
If = cv.dft(I, 'flags', cv.DFT_COMPLEX_OUTPUT);
Error using dft
cv::exception caught:
/home/xxx/opencv-master/modules/core/src/dxt.cpp:1760: error: (-215)
type == CV_32FC1 || type == CV_32FC2 || type == CV_64FC1 || type == CV_64FC2
in function dft
ein anderer Fehler Beispiel:
im_denoise = cv.fastNlMeansDenoising(im_noise, 18);
Error using fastNlMeansDenoising
cv::exception caught:
/home/xxx/opencv-master/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:146:
error: (-215) almost_dist2weight_[0] == fixed_point_mult_ in function
FastNlMeansDenoisingInvoker
Jede Hilfe, wie diese Probleme zu lösen, ist sehr willkommen!
@AruniRC - Sie eine Prämie begonnen, weil „diese Frage nicht genug Aufmerksamkeit empfangen hat“ -, aber sie bieten keine Feedback in Bezug auf Antworten und Vorschläge, die Sie komm her ... Das ist nicht der richtige Weg, um Aufmerksamkeit zu bekommen. – Shai
Ich konnte alles kompilieren und verlinken, ohne Fehler. Ich habe nur sichergestellt, dass ich die gleiche Architektur für jede der Bibliotheken/SDKs hatte, die beim Kompilieren verwendet wurden. Zum Beispiel, wenn Ihr Matlab 64bit ist, dann stellen Sie sicher, dass Sie einen 64bit Compiler in CMake ausgewählt haben und auch ein 64bit Python gefunden wird. Irgendwie werden die Matlab-Dateien jedoch nicht von ihren mex-Dateien begleitet. Ich kann sehen, dass alle .cpp-Dateien generiert werden, jedoch keine kompilierten Metadaten nach dem Kompilieren und Installieren. – masad