Click here to Skip to main content
15,886,919 members
Please Sign up or sign in to vote.
2.00/5 (1 vote)
See more:
Why is C# better/preferable than Visual C++ in terms of image processing and computer vision?
Posted
Updated 5-Jan-11 5:52am
v2
Comments
Slacker007 5-Jan-11 11:53am    
I didn't know that it was. Are you sure about that?
Manfred Rudolf Bihy 5-Jan-11 12:08pm    
@Slacker007: I think OP meant to ask why anyone should prefer one over the other. I think the subject line is clearer than OP's question. :)
fjdiewornncalwe 5-Jan-11 12:51pm    
The better language for any individual is the language the individual is more comfortable with.

I'd say the other way around. Depends though what version of C++ you're talking about. Managed C++ (C++/CLI) is the .NET version (extension) of C++ if I understand it correctly and I don't think there shouldn't be anything to gain performance wise. I'd go for the unmanaged C++ if you're trying to do fancy things in image processing and computer vision. That stuff can be a real CPU hog and with unmanaged C++ your the master of your machine.
My 2ct's!

Addition:
For simple image processing tasks I would prefer C# though.
1. I have programmed C# for quite a while now
2. There is lots of stuff in the System.Drawing namespace that lets you go quite a distance
End Addition


Regards,
Manfred
 
Share this answer
 
v3
Comments
Espen Harlinn 5-Jan-11 12:00pm    
5+ I think we are in agreement - you are nearly an Encyclopedia Manfred, Well done!!
Nuri Ismail 5-Jan-11 12:38pm    
Good call! +5
Espen Harlinn 5-Jan-11 14:28pm    
Well, you are obviously not ready for the shelve, you seem to be all over the place :) Keep up the good work!
First the algorithm then the language. Only after you've found the optimum algorithm (or a close one) you may choose the language: if a (native) C++ implementation isn't too complex then it is the right choice, otherwise, go managed.
:)
 
Share this answer
 
v2
It's neither better nor worse.

C# comes with a HUGE standard runtime library, and there is an enormous amount of high quality components available.

C/C++ gives you better control and more freedom - including the ability to easily shoot yourself in the foot without intending to. There are many high quality open source image processing and computer vision libraries available. Choosing the right one depends on your needs.

For a customer with the need for a high quality solution I would choose C/C++ for the core functionality. There is nothing that prevents you from using both C# and C/C++ in the same solution, so maybe part of the GUI could be done in c# and .Net.

If I needed something real fast, as in should be done yesterday, I would shop around for a .Net component suite - maybe Leadtools[^]

Regards
Espen Harlinn
 
Share this answer
 
Comments
Manfred Rudolf Bihy 5-Jan-11 12:01pm    
Good link! 5+
I've had a look a their toolset quite a while ago. We just couldn't cough up the nescessary money then (2003).
Nuri Ismail 5-Jan-11 12:38pm    
Good call! +5
Manfred Rudolf Bihy 5-Jan-11 14:21pm    
Yes, I'm not too far away from the rank (Encyclopedia), but I sure do hope I wont start getting shelve-ish. :-D

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900