OpenCV books about handling real life scenarios
Hello, I'm new to OpenCV, to get started I've been following the official online tutorials and I've been reading the following books:
- Practical Python and OpenCV
- OpenCV Computer Vision With Python [Packt]
- Practical OpenCV [Apress] (currently reading)
Very interesting books to get started, however I'm noticing even if now I know how to call the various OpenCV functions I have very little clue about how to apply this to real case scenario.
Does anyone have suggestion about books/tutorials/papers about how to gracefully use opencv in real case scenario ?
Specifically I'm interested in techniques about how to segment an indoor/outdoor scene and the movements of those segments.
Any suggestion is welcome :)
--- EDIT: Adding details ---
What I'm currently trying to achieve is using the face as "natural" user interface, the idea is to partially move the camera into 3D environment (it's an educational tool developed by a friend) the scene it's quite simple, it has a single object in the middle
Getting close: Zoom In Moving away: Zoom Out Looking from top/bottom/left/right: rotate the object top/bottom/left/right
Attempt
- Calibration: using Haar cascade for find the face initially, extracting keypoints and descriptor in the area of the face and storing as "neutral" position
- Run: calculating the homography to obtain the trasformation matrix of the plane of the face
Problems
- Haar cascade it's very delicate, so if the head tilt or rotate I lose the tracking
- The background it's not "clean" but it's a random scene
Possible solutions
- Continuously tracking and updating the shape of the face (problem: with the little i know segmenting the image and isolating the shape of the head from the rest of the scene it's messy)
- matching the face with hist and backproject (future attempt)
- using absdiff for detecting movements (future attempt)
How would you proceed in such a case ?
I think your problem has more to do with your lack of knowledge of basic (and not so basic) digital image processing techniques and not with OpenCV itself. As you say, you now know how to use OpenCV functions, so you now should search and read over the internet techniques about that you specifically want to do, and then check if there are available methods on the library to achieve it. A real case scenario might be as complex as one can imagine, so there's no single book to cover all the possible options.
Once said that, segmentation is a wide topic, so maybe if you tell us which concrete scenarios and goals you want to handle, we may suggest some algorithms to start with
Some general comments.
In my opinion, you need experience and so you have to practice and experience by yourself (in a working environment, in personnal projects, ...).
Of course, when you will face a new problem, you will have to search in the litterature, you will have to ask to more experienced colleagues but with your experience you will have a basic idea of how to solve your problem or what in what direction to search.
Finally, I would try to adopt a coarse to fine approach (first trying to solve a simple case of the problem and step by step complexify the situation).
@Lorena: You are very right, I'm a wannabe in image processing, I've been adding some details about the current case I'm trying to resolve
@Cesare: I think your approach is correct. Using Haar cascades seem to be the best option to detect a face in an image. You should add a tracker to the face to follow its movements. You don't really need to strictly segmentate the image for your purposes. Also, I'm sure there are plenty of info about how to deal with tilt of the face while detecting. Extra advice: next time, post a different wuestion with your exact problem and I'm sure plenty of people will be eager to give you ideas. General questions are usually harder to answer