Figure 2: You will match points between the template and target image using SIFT features. The SIFT is composed of scale, orientation, and 128 dimensional local feature descriptor (integer), f ∈ Z128. You will use the SIFT features to match between two images, I1 and I2. Use two sets of descriptors from the template and target, find the matches using nearest neighbor with the ratio test. You may use knnsearch built-in function in MATLAB. function [x1, x2] = FindMatch(I1, I2) Input: two input gray-scale images with uint8 format. Output: x1 and x2 are n × 2 matrices that specify the correspondence. Description: Each row of x1 and x2 contains the (x, y) coordinate of the point correspondence in I1 ad I2, respectively, i.e., x1(i,:) ↔ x2(i,:). (Note) You can only use VLFeat for the SIFT descriptor extraction. Matching with the ratio test needs to be implemented by yourself.
时间: 2024-04-01 17:31:23 浏览: 116
这段文字描述了一个使用SIFT特征匹配两张图像的过程。具体的流程如下:
1. 读入两张灰度图像 I1 和 I2,其格式为 uint8。
2. 使用 VLFeat 提取图像的 SIFT 特征,得到 I1 和 I2 中的 SIFT 描述符。
3. 对于 I1 中的每个 SIFT 描述符,使用最近邻搜索(knnsearch)在 I2 中找到距离最近的 SIFT 描述符。
4. 对于每个 I1 中的 SIFT 描述符,计算它与两个最近邻 SIFT 描述符之间的距离比值,若小于一个阈值,则认为匹配成功。
5. 将匹配的点对应的坐标保存在两个矩阵 x1 和 x2 中,其中 x1(i,:) 是第 i 个匹配点在 I1 中的坐标,x2(i,:) 是它在 I2 中的坐标。
这里需要注意的是,VLFeat 可以用来提取 SIFT 描述符,但是最近邻搜索和距离比值匹配需要自己实现。
阅读全文