<a id="easyobject-process"></a>

# Process and Workflow

* It works by  ***encoding*** an image into a  ***coded image***. The  [`encoder`](../../../doxygen_cpp/classeVision_1_1EImageEncoder.html) [<sub>.NET</sub>](../../../doxygen_cs/classeVision_1_1EImageEncoder.html) [<sub>Python</sub>](../../../doxygen_python/classeVision_1_1EImageEncoder.html) classifies the image into several  ***layers*** with  ***image segmenters*** and builds the  ***blobs*** from the selected  ***layers***.
* It can compute various  ***features*** for each objects (for example its area, bounding box, etc.).
* These  ***features*** can be used to select, filter, or sort the  ***blobs*** with [`EObjectSelection`](../../../doxygen_cpp/classeVision_1_1EObjectSelection.html) [<sub>.NET</sub>](../../../doxygen_cs/classeVision_1_1EObjectSelection.html) [<sub>Python</sub>](../../../doxygen_python/classeVision_1_1EObjectSelection.html).
* The  [`object template matcher`](../../../doxygen_cpp/classeVision_1_1EObjectTemplateMatcher.html) [<sub>.NET</sub>](../../../doxygen_cs/classeVision_1_1EObjectTemplateMatcher.html) [<sub>Python</sub>](../../../doxygen_python/classeVision_1_1EObjectTemplateMatcher.html) can be used to align and match the  ***blobs*** to a reference image.
* There are two kinds of  ***blobs***:
  *  ***objects*** that are built directly by the encoder from the segmentation of the image
  *  ***holes*** that are built from the  ***objects***.
  * Both types of  ***blobs*** have the same class, named [`ECodedElement`](../../../doxygen_cpp/classeVision_1_1ECodedElement.html) [<sub>.NET</sub>](../../../doxygen_cs/classeVision_1_1ECodedElement.html) [<sub>Python</sub>](../../../doxygen_python/classeVision_1_1ECodedElement.html).

![image](assets/images/easyobject/holesconstructionwhitelayer.webp)
