Learning OpenCV4 with Python
Reference: Joseph Howse, Joe Minichino - Learning OpenCV 4 Computer Vision with Python 3: Get to grips with tools, techniques, and algorithms for computer vision and machine learning (2020)
As of May 14, 2020, I progressed until the end of Chapter 6. Below you find my findings which I also published on a private Github with Josephine. Chapters 7 and 8 will be really useful too, so I may work on them at the weekends.
Chapter Summaries
Chapter 1 - Setting up CV4
- Simply gives introduction on how to install OpenCV4 and why it is called cv2 etc. - Just for matter of comprehensiveness.
- I found it surprising to download the version with proprietary algorithms.
Chapter 2 - Handling files, cameras and guis.
- Rather basic chapter that allows you to learn how to open files and watch them.
- Applied these to Jupyter notebooks, and changed imshow functions to these of matplotlib to make sure you can run them within a Jupyter notebook.
- Useful: We should ask Peter what kind of camera he is using, and consider using two cameras or depth cameras in the future.
Chapter 3 - Processing images
- Different color models are being explained. It was intersting to understand differences between colors, and light (which is being diseminated by a screen).
- Further you learn about edge detection with Canny.
- Contour detection but also the detection of lines, circles, and other shapes.
Chapter 4 - Depth Estimation and Segmentation
- Tried out the foreground detection with GrabCut with a sample plant video.
- Also tried the image segmentation with the Watershed algorithm.
- Conclusion: I realized that we should change the setting of the camera or find a way in order to get the plant in the foreground somehow. Maybe by setting up focus points for camera. We will check for differences in the new videos provided by Peter.
Chapter 5 - Detecting and Recognizing Faces
- Was particular fun to play with. However, we examine plants and not faces. Yet find my fun image at the end of this quick post.
- Using Haar cascades I learnt that we should get something similar for our plants.
- Additional book by the author is mentioned in which he explains how to train for Haar cascade libraries. Also it makes sense to research on existing libraries on google.
Chapter 6 - Retrieving images and Searching using Descriptors
- Was particularly useful for learning about Harris corners detector.
- I also learnt about SIFT and SURF, ORB and BRIEF.
- Appropriation to plantions.github.io: Coming from these algorithms, we will try to apply the functionality of FLANN KNN to detect the corners of our plants, respectively their leaves.