我已经开发了一个使用OpenCV的C++程序。现在我想用C#开发一个基于窗体的应用程序。由于C#只能处理托管代码,因此几乎不可能直接在C#应用程序上运行OpenCV。我已经搜索了不同的方法来使用OpenCV创建C#应用程序,其中之一是EmguCV,而我更感兴趣的另一种方法是在C#应用程序中导入C++ .dll文件,并以这种方式调用非托管函数。
我首先在C++中创建了简单的函数,通过导入dll,我能够在我的C#应用程序中使用cout和cin。当我尝试在我的C++应用程序中包含OpenCV头文件并编译时,问题出现了,我得到了以下错误:
error LNK1104: cannot open file 'tbb_debug.lib'
有人以前做过这个,但我无法弄清楚他如何在在picturebox中以cv :: Mat格式显示网络摄像头中将C++与C#接口化。
问题是我有一个函数,它接受一个cv::Mat变量并对其进行一些图像处理,然后返回处理后的矩阵。我想在我的C#应用程序中使用用C++编写的该函数。但问题是当我在C++中包含OpenCV库时,我无法创建dll。
请不要建议我使用EmguCV或任何其他OpenCV的.NET封装。
我正在使用Visual Studio 2010进行我的项目。
我首先在C++中创建了简单的函数,通过导入dll,我能够在我的C#应用程序中使用cout和cin。当我尝试在我的C++应用程序中包含OpenCV头文件并编译时,问题出现了,我得到了以下错误:
error LNK1104: cannot open file 'tbb_debug.lib'
有人以前做过这个,但我无法弄清楚他如何在在picturebox中以cv :: Mat格式显示网络摄像头中将C++与C#接口化。
问题是我有一个函数,它接受一个cv::Mat变量并对其进行一些图像处理,然后返回处理后的矩阵。我想在我的C#应用程序中使用用C++编写的该函数。但问题是当我在C++中包含OpenCV库时,我无法创建dll。
请不要建议我使用EmguCV或任何其他OpenCV的.NET封装。
我正在使用Visual Studio 2010进行我的项目。