Isolating objects in a scene
In this chapter, we are going to introduce the first step in an AOI algorithm and try to isolate different parts or objects in a scene. We are going to take the example of the object detection and classification of three object types (screw, packing ring, and nut) and develop them in this chapter and Chapter 6, Learning Object Classification.
Imagine that we are in a company that produces these three objects. All of them are in the same carrier tape. Our objective is to detect each object in the carrier tape and classify each one to allow a robot to put each object on the correct shelf:

In this chapter, we are going to learn how to isolate each object and detect its position in the image in pixels. In the next chapter, we are going to learn how to classify each isolated object to recognize if it is a nut, screw, or a packing ring.
In the following screenshot, we show our desired result, where there are a few objects in the left image. In the right image, we have drawn each one in a different color, showing different features such as area, height, width, and contour size:

To reach this result, we are going to follow different steps that allow us to understand and organize our algorithms better. We can see these steps in the following diagram:

Our application will be divided into two chapters. In this chapter, we are going to develop and understand the preprocessing and segmentation steps. In Chapter 6, Learning Object Classification, we are going to extract the characteristics of each segmented object and train our machine learning system/algorithm on how to recognize each object class.
Our preprocessing steps will be divided into three more subsets:
- Noise Removal
- Light Removal
- Binarization
In the segmentation step, we are going to use two different algorithms:
- Contour detection
- Connected components extraction (labeling)
We can see these steps and the application flow in the following diagram:

Now, it's time to start the preprocessing step so that we can get the best Binarization image by removing the noise and lighting effects. This minimizes any possible detection errors.
- MySQL高可用解決方案:從主從復(fù)制到InnoDB Cluster架構(gòu)
- Python數(shù)據(jù)分析入門:從數(shù)據(jù)獲取到可視化
- 復(fù)雜性思考:復(fù)雜性科學(xué)和計(jì)算模型(原書第2版)
- MySQL基礎(chǔ)教程
- Creating Dynamic UIs with Android Fragments(Second Edition)
- 數(shù)據(jù)革命:大數(shù)據(jù)價(jià)值實(shí)現(xiàn)方法、技術(shù)與案例
- 數(shù)亦有道:Python數(shù)據(jù)科學(xué)指南
- 數(shù)據(jù)庫(kù)原理與設(shè)計(jì)(第2版)
- Oracle PL/SQL實(shí)例精解(原書第5版)
- 金融商業(yè)算法建模:基于Python和SAS
- Flutter Projects
- 大數(shù)據(jù)治理與安全:從理論到開源實(shí)踐
- 辦公應(yīng)用與計(jì)算思維案例教程
- 數(shù)據(jù)分析師養(yǎng)成寶典
- Filecoin原理與實(shí)現(xiàn)