Ho sviluppato un programma C++ che utilizza OpenCV. Ora voglio sviluppare un'applicazione basata su Windows form in C#. Siccome C# può gestire solo il codice gestito, è quasi impossibile eseguire OpenCV direttamente sull'applicazione C#. Ho cercato diversi modi per creare un'applicazione C# usando OpenCV, uno dei quali è EmguCV e l'altro metodo a cui sono molto più interessato è importare il file C++ .dll nell'applicazione C# e chiamare le funzioni non gestite in questo modo.chiamata codice opencv C++ nell'applicazione C#
Ho iniziato creando semplici funzioni in C++ e sono stato in grado di utilizzare cout
e cin
nella mia applicazione C# importando la dll. Il problema nasce quando provo ad includere file di intestazione OpenCV nella mia applicazione C++ e quando compilo ottengo questo errore
errore LNK1104: Impossibile aprire il file 'tbb_debug.lib'
Qualcuno ha fatto prima, ma i cant capire come egli interfacciarsi C++ con C# nella Displaying webcam feed in cv::Mat format in a picturebox
la questione è che ho funzione che prende in un cv :: variabile Mat ed esegue qualche elaborazione immagine su di essa e restituisce la matrice elaborata. Voglio usare quella funzione scritta in C++ nella mia applicazione C#. ma il problema è che non riesco a creare la DLL quando includo la libreria OpenCV in C++.
Quindi, per favore, non mi suggerisce di utilizzare EmguCV o qualsiasi altro wrapper .NET per OpenCV.
sto usando Visual Studio 2010 per il mio progetto.
Qual è la domanda? Hai già detto che puoi creare una DLL e accedervi tramite P/Invoke. È anche possibile utilizzare C++/CLI per scrivere un assembly, che accede a intestazioni native e utilizza librerie native. Per quanto riguarda l'errore di collegamento, non hai fornito informazioni sufficienti per dirci, cosa è sbagliato. – Spook
ho modificato il post, quando provo a scrivere qualsiasi metodo che usi OpenCV ottengo un errore che ho postato sopra in modo che la dll non possa essere creata ma quando ho usato solo cout e cin non si è verificato alcun errore e la dll è stata creata con successo –