sift算法的MATLAB程序_第1頁
sift算法的MATLAB程序_第2頁
sift算法的MATLAB程序_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、-作者xxxx-日期xxxxsift算法的MATLAB程序【精品文檔】% image, descriptors, locs = sift(imageFile)% This function reads an image and returns its SIFT keypoints.% Input parameters:% imageFile: the file name for the image.% Returned:% image: the image array in double format% descriptors: a K-by-128 matrix, where each ro

2、w gives an invariant% descriptor for one of the K keypoints. The descriptor is a vector% of 128 values normalized to unit length.% locs: K-by-4 matrix, in which each row has the 4 values for a% keypoint location (row, column, scale, orientation). The % orientation is in the range -PI, PI radians.% C

3、redits: Thanks for initial version of this program to D. Alvaro and % J.J. Guerrero, Universidad de Zaragoza (modified by D. Lowe) function image, descriptors, locs = sift(imageFile) % Load imageimage = imread(imageFile); % If you have the Image Processing Toolbox, you can uncomment the following% l

4、ines to allow input of color images, which will be converted to grayscale.% if isrgb(image)% image = rgb2gray(image);% end rows, cols = size(image); % Convert into PGM imagefile, readable by keypoints executablef = fopen(, w);if f = -1 error(Could not create file .);endfprintf(f, P5n%dn%dn255n, cols

5、, rows);fwrite(f, image, uint8);fclose(f); % Call keypoints executableif isunix command = !./sift ;else command = !siftWin32 ;endcommand = command ;eval(command); % Open and check its headerg = fopen(, r);if g = -1 error(Could not open file .);endheader, count = fscanf(g, %d %d, 1 2);if count = 2 er

6、ror(Invalid keypoint file beginning.);endnum = header(1);len = header(2);if len = 128 error(Keypoint descriptor length invalid (should be 128).);end % Creates the two output matrices (use known size for efficiency)locs = double(zeros(num, 4);descriptors = double(zeros(num, 128); % Parse for i = 1:num vector, count = fscanf(g, %f %f %f %f, 1 4); %row col scale ori if count = 4 error(Invalid keypoint file format); end locs(i, :) = vector(1, :); descrip, count = fscanf(g, %d, 1 len); if (count = 128) error(Invalid keypoint file value.); end % Normalize each input vector

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論