My opinion is:

OpenGL
- There is a huge body of documentation that have allowed me to do
some small programs by myself.
- It's cross plataforms, and there are free implementations of the interface.
- There are projects that use it from managed frameworks such as Java
and .NET, which allows to develop with it easily in languages
different from C and C++.
- Works well with SDL, which is also cross plataform and can be used
from managed frameworks,  so an stack such as Mono + SDL + OpenGL
gives you a free cross plataform solution.

OpenCV
- Is free and crossplatform.
- Lacks the popularity and / or documentation body that allowed me to
learn OpenGL by myself.
- Is commonly used for image recognition, machine learning and related
applications, this sets OpenCV as a higher level software.
- I've found something about using it from Phyton (apart from C and
C++), so a wrapper for Java or .NET should be possible.
- Can anybody verify if OpenCV is able or not to create 3D images?
because I suspect that (given my lack of knowledge about OpenCV) you
shouldn't be putting OpenCV and OpenGL (and DirectX) in the same
"bag".

DirectX
- Have good documentation, thanks to Microsoft that is always trying
to bring developers his platform.
- Have features for other stuff apart from 3D rendering (what OpenGL
does), such as input from Joysticks, networking and 3D audio (somethin
you may get with SDL + OpenGL + OpenAL).
- Implementation as a free software is restricted due to legal
implications, efectively constraining it's serius develop to Windows.

So... if by 3D or image processing programming you mean taking a
picture and analize it to create a 3D representation, then I think you
are looking for OpenCV
Buf it you mean to create 3D images to display on a computer screen on
real time, then you are looking for OpenGL
If you have sold your freedom, then DirectX
If your situation is a mix of the above (for example for augmented
reality), you could use a mix of the above.

Hopes that helps.

Alfonso J. Ramos

2010/11/27 [email protected] <[email protected]>:
> what do you think about the following libraries that which one is the
> best and why for 3D or image processing programming??
>
> 1.OpenCV
> 2.OpenGl
> 3.DirectX
>
> --
> You received this message because you are subscribed to the Google Groups 
> "google-codejam" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/google-code?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-codejam" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-code?hl=en.

Reply via email to