c#或python用于调用C ++ DLL进行硬件控制

时间:2014-06-15 01:56:55

标签: c# python opencv visual-c++ emgucv

我目前正在做一个项目,包括控制一对maxon直流电机,读取力传感器,以及Windows操作系统中的图像处理。我试图找到正确的编程语言或它们的组合,以获得硬件的高速通信速率以及实时图像处理。应用程序需要具有GUI。它还需要是多线程的。我正在研究的选项是:

1)用于GUI的C ++和QT - 我无法让Qt使用Opencv。我无法为Qt编译Opencv。

2)C#与Emgucv - 我仍然在努力用Emgucv得到我想要的东西。

3)使用Opencv在C ++中为图像处理部件制作DLL并在c#中使用GUI - 所有硬件都在C#中通过DLL工作。

4)用C ++制作maxon DC电机控制的DLL,并在python中用于GUI - 这个解决方案的好处是Opencv与python一起工作得很好。但我不确定python是否是实时硬件通信的正确语言。

5)Matlab - 非常慢

我非常想只使用一种语言,为此,我唯一的选择就是数字1,我​​无法让它运行。所以我的问题:

你知道其他任何解决方案吗? 如果我必须选择另一种语言以及C ++来制作GUI并且能够轻松实现多线程(比如C#中的python和backgroundworker),你推荐使用c#或python,还是其他任何一种?速度对于此应用程序非常重要。

提前致谢

1 个答案:

答案 0 :(得分:0)

选项1听起来最好,c ++用于速度,QT用于良好的UI +跨平台支持。 我过去也遇到过QT和OpenCV的问题。我已成功设法在Visual Studio 2010中使用带有QT加载项的OpenCV。

OpenCV的一个很好的指南就在这里 - http://opencv-srf.blogspot.co.uk/2013/05/installing-configuring-opencv-with-vs.html

很多关于让QT在VS中工作的东西 - How to build Qt for Visual Studio 2010