Image stitching: Sift's understanding

Source: Internet
Author: User

Looking at the sift for a few days is also a bit of a little understanding of it here describes my understanding of it!

Sift is the algorithm for Image feature comparison. It is primarily intended to be mathematically descriptive : an area around a particular point in the image, so that the difference between this area and another area can be compared .

Here's a little more on how to describe this mathematical method:

1. Data structure: The area selected in Sift is 4*4 that is 16 points or area. The histogram is then counted in 8 directions. It's dizzy!

Double feature[4][4][8]; It's actually ..... (0,0)-(3,3) 8 values in different directions in the area are summed up

2. Its characteristics: position, scale and direction of invariance (this good professional, more dizzy)

Explain: The position is the same, that is, you can not make every point of the image into a feature point, so you have to find a representative point, and this point, no matter what the image is to be extracted.

(In fact, you can not, a little more, there are always some feature points the same.) That is, two images have coincident parts, you put forward the two coincident parts of the characteristics of the same point, otherwise how to compare it.

Scale unchanged: Two images, shoot the table than, may be large, may be small, so you have to take this situation into account. The idea is to copy the images a few more, then zoom in and out so you can

The direction is the same: it is the process of taking pictures of the same table with the possibility of shaking hands, the camera is crooked, this situation. SIFT processing is to choose the direction (histogram, the largest 80% direction, there may be a lot of this point to copy a few), and then in this direction to do 1 of the features described in the extraction.

What else does the light do?: The professional way is to use that dog pyramid. Speaking of White point, is to use the gradient map of the image to do .... (What is a gradient?) Is (x1-x0) + (Y1-Y0)) can not understand just look like the basis of processing it!

3. Such a number of problems have been solved. If you want to add any affine degeneration, it is simply the scaling of the image of the 2*2 scaling vector, into the 3*3 image transformation vector.

I'm talking about simplicity here, but the actual implementation still has a lot of details to deal with. For example, what dog operator is sensitive to the gradient value, why it should be blurred, and so on, as long as the understanding of the better processing. But don't understand why use Gauss blur, for tall? Understand the better programming, no longer use to see the opencv inside that deep source. Really dizzy!

Image stitching: Sift's understanding

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.