diff --git a/doc/py_tutorials/py_feature2d/py_features_meaning/py_features_meaning.markdown b/doc/py_tutorials/py_feature2d/py_features_meaning/py_features_meaning.markdown index 79d09c5fe..166ffba4a 100644 --- a/doc/py_tutorials/py_feature2d/py_features_meaning/py_features_meaning.markdown +++ b/doc/py_tutorials/py_feature2d/py_features_meaning/py_features_meaning.markdown @@ -22,61 +22,61 @@ Well, the questions and imaginations continue. But it all depends on the most ba you play jigsaw puzzles? How do you arrange lots of scrambled image pieces into a big single image? How can you stitch a lot of natural images to a single image? -The answer is, we are looking for specific patterns or specific features which are unique, which can -be easily tracked, which can be easily compared. If we go for a definition of such a feature, we may -find it difficult to express it in words, but we know what are they. If some one asks you to point +The answer is, we are looking for specific patterns or specific features which are unique, can +be easily tracked and can be easily compared. If we go for a definition of such a feature, we may +find it difficult to express it in words, but we know what they are. If someone asks you to point out one good feature which can be compared across several images, you can point out one. That is -why, even small children can simply play these games. We search for these features in an image, we -find them, we find the same features in other images, we align them. That's it. (In jigsaw puzzle, +why even small children can simply play these games. We search for these features in an image, +find them, look for the same features in other images and align them. That's it. (In jigsaw puzzle, we look more into continuity of different images). All these abilities are present in us inherently. So our one basic question expands to more in number, but becomes more specific. **What are these -features?**. *(The answer should be understandable to a computer also.)* +features?**. (The answer should be understandable also to a computer.) -Well, it is difficult to say how humans find these features. It is already programmed in our brain. +It is difficult to say how humans find these features. This is already programmed in our brain. But if we look deep into some pictures and search for different patterns, we will find something interesting. For example, take below image: ![image](images/feature_building.jpg) -Image is very simple. At the top of image, six small image patches are given. Question for you is to -find the exact location of these patches in the original image. How many correct results you can -find ? +The image is very simple. At the top of image, six small image patches are given. Question for you is to +find the exact location of these patches in the original image. How many correct results can you +find? -A and B are flat surfaces, and they are spread in a lot of area. It is difficult to find the exact +A and B are flat surfaces and they are spread over a lot of area. It is difficult to find the exact location of these patches. -C and D are much more simpler. They are edges of the building. You can find an approximate location, -but exact location is still difficult. It is because, along the edge, it is same everywhere. Normal -to the edge, it is different. So edge is a much better feature compared to flat area, but not good -enough (It is good in jigsaw puzzle for comparing continuity of edges). +C and D are much more simple. They are edges of the building. You can find an approximate location, +but exact location is still difficult. This is because the pattern is same everywhere along the edge. +At the edge, however, it is different. An edge is therefore better feature compared to flat area, but +not good enough (It is good in jigsaw puzzle for comparing continuity of edges). -Finally, E and F are some corners of the building. And they can be easily found out. Because at -corners, wherever you move this patch, it will look different. So they can be considered as a good -feature. So now we move into more simpler (and widely used image) for better understanding. +Finally, E and F are some corners of the building. And they can be easily found. Because at the +corners, wherever you move this patch, it will look different. So they can be considered as good +features. So now we move into simpler (and widely used image) for better understanding. ![image](images/feature_simple.png) -Just like above, blue patch is flat area and difficult to find and track. Wherever you move the blue -patch, it looks the same. For black patch, it is an edge. If you move it in vertical direction (i.e. -along the gradient) it changes. Put along the edge (parallel to edge), it looks the same. And for +Just like above, the blue patch is flat area and difficult to find and track. Wherever you move the blue +patch it looks the same. The black patch has an edge. If you move it in vertical direction (i.e. +along the gradient) it changes. Moved along the edge (parallel to edge), it looks the same. And for red patch, it is a corner. Wherever you move the patch, it looks different, means it is unique. So basically, corners are considered to be good features in an image. (Not just corners, in some cases blobs are considered good features). So now we answered our question, "what are these features?". But next question arises. How do we -find them? Or how do we find the corners?. That also we answered in an intuitive way, i.e., look for +find them? Or how do we find the corners?. We answered that in an intuitive way, i.e., look for the regions in images which have maximum variation when moved (by a small amount) in all regions around it. This would be projected into computer language in coming chapters. So finding these image features is called **Feature Detection**. -So we found the features in image (Assume you did it). Once you found it, you should find the same -in the other images. What we do? We take a region around the feature, we explain it in our own -words, like "upper part is blue sky, lower part is building region, on that building there are some -glasses etc" and you search for the same area in other images. Basically, you are describing the -feature. Similar way, computer also should describe the region around the feature so that it can +We found the features in the images. Once you have found it, you should be able to find the same +in the other images. How is this done? We take a region around the feature, we explain it in our own +words, like "upper part is blue sky, lower part is region from a building, on that building there is +glass etc" and you search for the same area in the other images. Basically, you are describing the +feature. Similarly, a computer also should describe the region around the feature so that it can find it in other images. So called description is called **Feature Description**. Once you have the -features and its description, you can find same features in all images and align them, stitch them +features and its description, you can find same features in all images and align them, stitch them together or do whatever you want. So in this module, we are looking to different algorithms in OpenCV to find features, describe them,