uman vision is amazingly beautiful and sophisticated. It all started billions of years ago when small organisms developed a mutation that made them sensitive to light. Fast forward to today, computers have that same advantage. But there is a problem for a computer algorithm; the image looks like a massive array of integer values which represent intensities across the colour spectrum. There's no context here, just an enormous pile of data.
It turns out that the context is the crux of getting algorithms to understand image content in the same way that the human brain does. And to make this work, we use an algorithm very similar to how the human brain operates using machine learning.
And what if we have images that are difficult for a human to classify? Can machine learning achieve better accuracy?
Computer vision is taking on increasingly complex challenges and is seeing accuracy that rivals humans are performing the same image recognition tasks. Programming computers to process and ultimately understand images is called Computer Vision (CV). CV simply makes a computer see. Solving Computer Vision challenges, even at small scale, creates exciting new possibilities in technology, engineering and even entertainment.
It is imperative to have a robust library of programming functions with the optimized and interoperable code to advance vision research and disseminate vision knowledge.It is a boon that these libraries are available for free, Thanks to Open CV.Intel launched the Open CV (Open source library) in 1999. Since then, several programmers have contributed to the most recent library developments.
The latest significant change took place in 2009 (OpenCV 2), which includes main modifications to the C++ interface. The latest release of Open CV is available at "https://opencv.org/".As of now, the library has >2500 optimized algorithms.
It is extensively used around the world, having >2.5M downloads and >40K people in the usergroup. OpenCV can be used in academic and commercial applications as well,under a BSD license.
Following are some of the use cases of Open CV:
1. Automatic traffic violation detection.
2. Automatic classroom attendance.
3. Open CV based driver fatigue and distraction monitoring system.
4. Fabric defect detection.
5. Intelligent surveillance systems.
6. Automatically colouring Black and white photos and videos.
7. Street view image stitching
8. Automated inspection and surveillance
9. Robot and driver-less car navigation and control
10. Medical image analysis
11. Video/image search and retrieval
12. Movies - 3D structure from motion
13. Interactive art installations
The above list is endless. There are infinite possibilities of image processing using OpenCV. OpenCV is pretty powerful but tedious to learn. Once you are comfortable with basics, the curve is upwards. The more you program, the better you understand.Also, the best part is it is open-source and free. There are tons of resources available on the internet to learn.
Title Image by Okan Caliskan from Pixabay