As a practical developer I would like to make a good algorithm for my specific task, built from blocks, like a 'boundary extraction', or 'gamma correction' and so on, but I don't want to implement the wheel, making all that stuff, so I wander - if there's any powerful CV library, like C++'s OpenCV?
Saying "the best", I mean library having following properties:
OpenCV. OpenCV is by far the most popular open-source computer vision library, which aims at real-time vision. It's a cross-platform library supporting Windows, Linux, Android, and macOS and can be used in different languages, such as Python, Java, C++, etc.
TensorFlow is one of the easiest computer vision tools and allows users to develop computer vision-related machine learning models for tasks like facial recognition, image classification, object detection, and more. Tensorflow, like OpenCV, also supports various languages like Python, C, C++, Java, or JavaScript.
OpenCV is open source and released under the BSD 3-Clause License. It is free for commercial use.
SimpleCV is one of the popular machine vision frameworks for building computer vision applications. Written in Python, this library helps in getting access to several high-powered computer vision libraries such as OpenCV.
You might be interested in a pure Java open source computer vision library I have developing, BoofCV. BoofCV supports many common image processing operations, advanced feature detection, wavelet denoising, camera calibration, stereo vision and structure from motion . It's also very fast. Currently has the fastest SURF implementation out of any open source library, including C/C++ ones. Speed wise, it is very competitive with OpenCV for mid to high level vision algorithms. OpenCV is of course faster for low level image processing.
Website: http://boofcv.org
OpenCV vs BoofCV: http://boofcv.org/index.php?title=Performance:OpenCV:BoofCV
SURF Performance Study: http://boofcv.org/index.php?title=Performance:SURF
Ok enough marking. Hope you guys like it!
Shaman, I have been looking a long time for a image processing library comparable to opencv in Java. For the amount of automated tasks opencv performs there is nothing that comes close to it for the advanced machine vision type applications.
In terms of image processing though imagej has a large amount of preimplemented algorithms and plugins. I use this library all the time to preprocess things I need to send into opencvs machine vision utilities. This is also open source with easy ways of adding additional features through plugins or direct manipulations so I think it could meet most of your requirements.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With