zoukankan      html  css  js  c++  java
  • 读取siftgeo格式文件的matlab程序

    % This function reads a siftgeo binary file %读取siftgeo格式的二进制文件
    %
    % Usage: [v, meta] = siftgeo_read (filename, maxdes)
    %   filename    the input filename
    %   maxdes      maximum number of descriptors to be loaded 要加载的描述子最大数量
    %   (default=unlimited)%默认无限制
    %
    % Returned values %返回值
    %   v           the sift descriptors (1 descriptor per line) %每行一个sift描述子
    %   meta        meta data for each descriptor, i.e., per line: %每个描述子的元数据
    %               x, y, scale, angle, mi11, mi12, mi21, mi22, cornerness
    function [v, meta] = siftgeo_read (filename, maxdes) 
    
    if nargin < 2 %nargin:number of arguments input %nargout:number of arguments ouput
      maxdes = 100000000; %1亿
    end
      
    % open the file and count the number of descriptors
    fid = fopen (filename, 'r');
     
    fseek (fid, 0, 1); %fseek(fid, 0, 'eof'); 跳到文件末尾 %'bof' or -1   Beginning of file;  'cof' or  0   Current position in file;  'eof' or  1   End of file
    n = ftell (fid) / (9 * 4 + 1 * 4 + 128); %n是descriptors的数量 %return the current position (number of bytes from the file beginning)
    fseek (fid, 0, -1); %fseek(fid, 0, 'bof') 跳到文件开头
    
    
    if n > maxdes
      n = maxdes;
    end;
    
    % first read the meta information associated with the descriptor
    meta = zeros (n, 9, 'single'); %n*9矩阵
    v = zeros (n, 128, 'single'); %n*128矩阵
    
    % read the elements
    for i = 1:n %n是要读区的descriptors数量
      meta(i,:) = fread (fid, 9, 'float'); %(float)*9 元数据信息
      d = fread (fid, 1, 'int'); %(int)*1
      v(i,:) = fread (fid, d, 'uint8=>single'); %(uint8=>single)*d 描述子
    end
    
    fclose (fid);
    

      

  • 相关阅读:
    C++中随机函数
    在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
    CCParticleSystem粒子系统
    Redis百亿级Key存储方案
    Mongodb亿级数据量的性能测试
    mysql-mongdb-redis
    java常用的几种线程池比较
    Java中的多线程
    MySQL技术内幕InnoDB存储引擎(表&索引算法和锁)
    B+树介绍
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/4631329.html
Copyright © 2011-2022 走看看