title: c# or python for calling C++ DLLs for hardware control
body: <p>I am currently doing a project which involves controlling couple of maxon DC motors, reading from force sensors, and image processing in windows OS. I am trying to find the right programming language or combination of them in order to get high speed communication rate with hardwares as well as real-time image processing. The application needs to have GUI. It also needs to be multi-threaded. My options that I am investigating are:</p>
  
  <p>1) C++ and QT for GUI - I couldn't get Qt working with Opencv. I was unable to compile Opencv for Qt.</p>
  
  <p>2) C# with Emgucv - I am still struggling to get what I want using Emgucv.</p>
  
  <p>3) Making DLL for the image processing part in C++ with Opencv and use in c# for GUI - all of the hardwares are working in C# through DLLs. </p>
  
  <p>4) Making DLL for the maxon DC motor controls in C++ and use in python for GUI - the good about this solution is that Opencv works very well with python. But I am not sure whether python is the right language for real-time hardware communication.</p>
  
  <p>5) Matlab - very slow</p>
  
  <p>I very much like to use just one language, and for doing so, my only choice is number 1 which I cannot get it running. So my questions:</p>
  
  <p>Do you know any other solution?
  If I have to choose another language as well as C++ to make GUI and also be able to have multi-threading easily (like python and backgroundworker in C#), which one do you recommend c# or python, or any other? Speed is important for this application.</p>
  
  <p>Thanks in advance</p>