Reputation: 48916
I have a question for which I would like to learn from your experience at this point. I'm interested in implementing image processing algorithms along the way while learning them. Do you recommend me to do that with C++, or move ahead with OpenCV?
My goal is not to learn C++ per se, but to implement the image processing algorithms I learn.
What do you recommend me in this case? I don't want to start for instance with C++ and end up (maybe after a long learning curve) to the point where I have to deal with OpenCV eventually.
OpenCV is just an example, do you recommend it over other libraries for image processing?
Thanks for your recommendations.
Upvotes: 1
Views: 1048
Reputation: 52317
OpenCV is the perfect choice.
Don't reinvent the wheel. Don't implement your own limited, faulty image readers. Don't implement your own very basic data structures to store and access images in memory.
OpenCV 3.0 has a considerably clean and nice API. You can use high level C++ concepts with it. For example, you can work with STL-style iterators on matrices, which are also templated.
If you want to implement an algorithm yourself, you can work with the existing OpenCV codebase, maybe take something from there and change it. OpenCV has a permissive license.
If you feel like bringing GPU acceleration on board, OpenCV has it nicely integrated and you can start right away on a high level.
OpenCV is the de-facto standard in image processing and computer vision with C++. If you want to work with others in the field, chances are high that you are on common ground with OpenCV.
Upvotes: 4