% 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);

  

读取siftgeo格式文件的matlab程序的更多相关文章

  1. 使用jsp读取TXT格式文件

    <%@page import="java.io.BufferedReader"%> <%@page import="java.io.FileReader ...

  2. SHELL读取 ini 格式文件做配置文件

    ini文件格式一般都是由节.键.值三部分组成 格式: [第一节 ] 第一个键 = 值 第二个键 = 第二个值 [第二节 ] 第一个键 = val1,val2,val3 例子: [COM] KINGGO ...

  3. Qt读取ANSI格式文件——利用QTextCodec将其他编码格式转换为Unicode格式

    Qt使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec ...

  4. Qt读取ANSI格式文件——利用QTextCodec将其他编码格式的QByteArray转换为Unicode格式,或者从文件中读出后直接做转换

    t使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec类 ...

  5. Java读取UTF-8格式文件第一行出现乱码——问号“?”及解决 And Java读带有BOM的UTF-8文件乱码原因及解决方法

    測试样例: Java读取UTF-8的txt文件第一行出现乱码"?"及解决 test.txt文件内容: 1 00:00:06,000 --> 00:00:06,010 < ...

  6. 【视频开发】opencv不能读取MP4格式文件

    用OpenCV对视频进行处理时,不能打开.mp4格式的文件.后来解决办法是用ffmpeg.exe将mp4文件转码为avi文件,然后再进行处理.但是转码过程比较慢.后来查看opencv源代码,发现它也是 ...

  7. JAVA用geotools读取shape格式文件

    Shapefile属于一种矢量图形格式,它能够保存几何图形的位置及相关属性.但这种格式没法存储地理数据的拓扑信息. 其中,要组成一个Shapefile,有三个文件是必不可少的,它们分别是". ...

  8. C#读取csv格式文件

    方法1:用一个System.Web.UI.HtmlControls.HtmlInputFile去handle文件选取 以下是button click event中的code,用来执行当文件选取了之后读 ...

  9. python脚本 读取excel格式文件 并进行处理的方法

    一.安装xlrd模块 pip install xlrd 二.读取excel文件 try: excel_obj = xlrd.open_workbook("文件路径") except ...

随机推荐

  1. Singleton 多线程

    单例模式 何为单例模式,在GOF的<设计模式:可复用面向对象软件的基础>中是这样说的:保证一个类只有一个实例,并提供一个访问它的全局访问点.首先,需要保证一个类只有一个实例:在类中,要构造 ...

  2. Ajax的text/plain、application/x-www-form-urlencoded和application/json

    Ajax的text/plain.application/x-www-form-urlencoded和application/json HTTP请求中,如果是get请求,那么表单参数以name=valu ...

  3. Django 学习总结(更新中)

    1.常用命令 新建一个项目:django-admin.py startproject project-name 新建一个app:python manage.py startapp app-name 同 ...

  4. linux/mac下命令行rm回收站--rmtrash

    Linux.mac的命令行下没有回收站功能,很多时候手一抖就把重要文件给 rm -fr * 了,虽然linux下有可能通过lost +found/debugfs找回,但难度也比较大,不能保证一定能够找 ...

  5. ASL测试 课题测试博客

    已知线性表具有元素{5,13,19,21,37,56,64,75,80,88,92},如果使用折半查找法,ASL是多少? 知识点1: 折半查找法:折半查找,又称作二分查找.这个查找的算法的特点,要求数 ...

  6. NetCore+Dapper WebApi架构搭建(三):添加实体和仓储

    上一节讲了类库添加一些底层的基本封装,下面来添加实体和仓储 1.Entities文件夹添加一个实体类Users,继承BaseModel,即拥有BaseModel的主键 using System; na ...

  7. 解决Ubuntu 16.04下提示boot分区空间不足的办法

    原文地址: http://www.jb51.net/article/106976.htm https://www.linuxidc.com/Linux/2015-09/123227.htm 因为lin ...

  8. django组件之contenttype(一)

    方式1:适用于1张表和另一张表要关联的时候. 1.路飞学成表设计: 2.将2个价格策略表合并1张表. 3.如果再加一张表,那价格策略表的表结构会发生改变.  这样不合理的,我们的表结构一般设计完就不会 ...

  9. luoguP3359 改造异或树 线段树合并

    删边转化为加边 然后每次用线段树合并就行..... 确确实实很简单 然而为什么线段树合并跑不过$splay$的启发式合并,常数稍大了点... 复杂度$O(n \log n)$ #include < ...

  10. BZOJ.2428.[HAOI2006]均分数据(随机化贪心/模拟退火)

    题目链接 模拟退火: 模拟退火!每次随机一个位置加给sum[]最小的组. 参数真特么玄学啊..气的不想调了(其实就是想刷刷最优解) 如果用DP去算好像更准.. //832kb 428ms #inclu ...