Let’s look at this image of a mountain. This is Mt. Rainier in Washington state. Most features on this and any other image fall into one of three categories: edges, corners, and blobs. Edges we’re already very familiar with, they’re are just areas in an image where the intensity abruptly changes. Also known as areas that have a high intensity gradient. Corners are at the intersection of two edges and form what looks like a corner or a sharp point. And the blobs are region based features that may include areas of extreme highs or lows in intensity or areas of a unique texture. We’ll be most interested in detecting corners because they’re the most repeatable feature which means that they’re easy to recognize given two or more images of the same scene. As a simple example let’s look at this image of a Mondrian painting and let’s look at these three patches: patch A, B, and C. Given these three patches can you tell me what rectangular area they match with on this image? Patch A is just a single patch of color and it matches with a lot of areas like this all around the rectangle. So this is a bad feature because it isn’t unique. Patch B is an edge we know because of its orientation that it matches with an edge at the bottom of the red rectangle. But we can still move this edge to the left and right and it would still be a match. We can only approximate where this edge appears on this image. It’s very hard to get the exact location. Patch C is a corner. It actually contains two corners and its location is easily identified as the bottom right. This is because a corner represents a point where two edges change. And if we move either of those up or down the corner patch will not match exactly with that area. So corners are easiest to match and make good features because they are so unique. Next let’s see a more complex example of where corners are useful for identifying points on an object and get some practice coding a corner detector.