讀取siftgeo格式檔案的matlab程式

2021-07-23 12:03:27 字數 1710 閱讀 5247

% 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 描述子

endfclose (fid);

原文參考:

讀取clob格式檔案

create table a content clob select content from a 顯示的內容為cotent中的部分內容和亂碼,因為a是clob型別,不能直接從select的結果中顯示出來,需要借用oracle系統的包dbms lob來處理,才能正確顯示出來content的內容。se...

pandas讀取常用格式檔案

import pandas as pd os.chdir r e pytest io fy4譜響應函式.xls microsoft excel 97 2003工作表 sheet pd.read excel io io 當檔案沒有header時,預設第一行當header,header none設定不讀...

grads讀取nc格式檔案

一 通常 1 grads讀取grd和ctl open ctl 2 執行gs指令碼 run gs d命令,display展示資料,常用來顯示變數,比如rh,rain等 q命令,顯示資料內容,常用來顯示資料,比如時間dim,ctlinfo等 gs指令碼中,輸出列印變數的值,用say命令 二 grads也...