1 | initial version |
Apparently you need to read some theory first in order to get the definition of what is a BLOB. If you make a small research probably you will get it, but shortly:
BLOB definition
BLOB stands for Binary Large OBject and refers to a group of connected pixels in a binary image. The term "Large" indicates that only objects of a certain size are of interest and that the other "small" binary objects are usually noise. There are three procedures regarding BLOB analysis.
BLOB extraction
The purpose here is to isolate the BLOBs (objects) in a binary image. As mentioned above, a BLOB consists of a group of connected pixels. Whether or not two pixels are connected is defined by the connectivity, that is, which pixels are neighbours or not. There are two main types of connectivity. Th 8-connectivity and the 4-connectivity. The 8-connectivity is better than the 4-connectivity, but the 4-connectivity is often applied since it requires fewer computations, hence you process your image faster.
Moreover, a number of different algorithms exist for finding the BLOBs and such algorithms are usually referred to as connected component analysis or connected component labeling. Such algorithms are the Recursive Grass-Fire Algorithm, the Sequential Grass-Fire Algorithm, etc (I will not explain here how they work, but you can search by yourself).
BLOB representation
When you have extracted your BLOB, the next step is now to classify the different BLOBs. For example we want to classify each BLOB as either a circle of not a circle, or a human vs. non-human BLOB. The classification process consists of two steps. First, each BLOB is represented by a number of characteristics, denoted as features, and second some matching method is applied to compare the features of each BLOB with the features of the type of object we are looking for. For example, to find circles we could calculate the circularity of each BLOB and compare that to the circularity of a perfect circle. So, BLOB representation is a matter of converting each BLOB into a few representative numbers. That is, keep the relevant information and ignore the rest. Such of information include for example, the area, the circularity, the compactness, the perimeter, the center of mass, etc...
BLOB classification
The task here is to determine which BLOB for example, is a circle and which not. The question here now is how to define which BLOBs are circles and which are not based on their features that we mentioned earlier. For this purpose usually you need to make a prototype model of the object you are looking for. That means, what are the feature values of a perfect circle and what kind of deviation will you accept. This prototype model could differ from a simple box classifier (i.e. just a threshold value/limit) to a more advanced statistical classifier.
As @Balaji Renganathan mentioned in his answer there are many different libraries that deal with BLOB analysis and making our life easier. I hoped that I cleared your question about what is a BLOB definition.
2 | No.2 Revision |
Apparently you need to read some theory first in order to get the definition of what is a BLOB. If you make a small research probably you will get it, but shortly:
BLOB definition
BLOB stands for Binary Large OBject Binary Large OBject and refers to a group of connected pixels in a binary image. The term "Large" indicates that only objects of a certain size are of interest and that the other "small" binary objects are usually noise. There are three procedures regarding BLOB analysis.
BLOB extraction
The purpose here is to isolate the BLOBs (objects) in a binary image. As mentioned above, a BLOB consists of a group of connected pixels. Whether or not two pixels are connected is defined by the connectivity, that is, which pixels are neighbours or not. There are two main types of connectivity. Th The 8-connectivity and the 4-connectivity. The 8-connectivity is better than the 4-connectivity, but the 4-connectivity is often applied since it requires fewer computations, hence you process your image faster.
Moreover, a number of different algorithms exist for finding the BLOBs and such algorithms are usually referred to as connected component analysis or connected component labeling. Such algorithms are the Recursive Grass-Fire Algorithm, the Sequential Grass-Fire Algorithm, etc (I will not explain here how they work, but you can search by yourself).
BLOB representation
When you have extracted your BLOB, the next step is now to classify the different BLOBs. For example we want to classify each BLOB as either a circle of not a circle, or a human vs. non-human BLOB. The classification process consists of two steps. First, each BLOB is represented by a number of characteristics, denoted as features, and second some matching method is applied to compare the features of each BLOB with the features of the type of object we are looking for. For example, to find circles we could calculate the circularity of each BLOB and compare that to the circularity of a perfect circle. So, BLOB representation is a matter of converting each BLOB into a few representative numbers. That is, keep the relevant information and ignore the rest. Such of information include for example, the area, the circularity, the compactness, the perimeter, the center of mass, etc...
BLOB classification
The task here is to determine which BLOB for example, is a circle and which not. The question here now is how to define which BLOBs are circles and which are not based on their features that we mentioned earlier. For this purpose usually you need to make a prototype model of the object you are looking for. That means, what are the feature values of a perfect circle and what kind of deviation will you accept. This prototype model could differ from a simple box classifier (i.e. just a threshold value/limit) to a more advanced statistical classifier.
As @Balaji Renganathan mentioned in his answer there are many different libraries that deal with BLOB analysis and making our life easier. I hoped that I cleared your question about what is a BLOB definition.
3 | No.3 Revision |
Apparently you need to read some theory first in order to get the definition of what is a BLOB. If you make a small research probably you will get it, but shortly:
BLOB definition
BLOB stands for Binary Large OBject and refers to a group of connected pixels in a binary image. The term "Large" indicates that only objects of a certain size are of interest and that the other "small" binary objects are usually noise. There are three procedures regarding BLOB analysis.
BLOB extraction
The purpose here is to isolate the BLOBs (objects) in a binary image. As mentioned above, a BLOB consists of a group of connected pixels. Whether or not two pixels are connected is defined by the connectivity, that is, which pixels are neighbours or not. There are two main types of connectivity. The 8-connectivity and the 4-connectivity. The 8-connectivity is better than the 4-connectivity, but the 4-connectivity is often applied since it requires fewer computations, hence you process your image faster.
Moreover, a number of different algorithms exist for finding the BLOBs and such algorithms are usually referred to as connected component analysis or connected component labeling. Such algorithms are the Recursive Grass-Fire Algorithm, the Sequential Grass-Fire Algorithm, etc (I will not explain here how they work, but you can search by yourself).
BLOB representation
When you have extracted your BLOB, the next step is now to classify the different BLOBs. For example we want to classify each BLOB as either a circle of not a circle, or a human vs. non-human BLOB. The classification process consists of two steps. First, each BLOB is represented by a number of characteristics, denoted as features, and second some matching method is applied to compare the features of each BLOB with the features of the type of object we are looking for. For example, to find circles we could calculate the circularity of each BLOB and compare that to the circularity of a perfect circle. So, BLOB representation is a matter of converting each BLOB into a few representative numbers. That is, keep the relevant information and ignore the rest. Such of information include for example, the area, the circularity, the compactness, the perimeter, the center of mass, etc...
BLOB classification
The task here is to determine which BLOB for example, is a circle and which not. The question here now is how to define which BLOBs are circles and which are not based on their features that we mentioned earlier. For this purpose usually you need to make a prototype model of the object you are looking for. That means, what are the feature values of a perfect circle and what kind of deviation will you accept. This prototype model could differ from a simple box classifier (i.e. just a threshold value/limit) to a more advanced statistical classifier.
As @Balaji Renganathan mentioned in his answer there are many different libraries that deal with BLOB analysis and making our life easier. In these libraries, including OpenCV the above terms are the same and I guess they differ only to the way that they have been implemented. I hoped that I cleared your question about what is a the BLOB definition.