Forums

reading a 32 bit geotiff image

Started by avinash_uv July 30, 2007
I am using Matlab 7 (R14) service pack 1.

The imread function can not take a 32 bit geotiff image. Is there a
way to read out the image data from this file.

Is there a standard header length after which the data starts.

I can not use this to get the image out:

% Image
w_line = 9912; %from imfinfo
h_nlines = 10081; % "
skip = 81127; % = image_size(from imfinfo) - (w_lines*h_nlines*4)

%smaller chunck
w = 1024;
h = h_nlines;

fid_raw = fopen(iFilename,'r','ieee-le');
status = fseek(fid_raw,skip,'bof');

for i= 1:h
data(i,:)=fread(fid_raw,[1,w],'float32');
status=fseek(fid_raw,(w_line - w),'cof');
end

thanks, Avinash
Hi Avinash
plz put this two line before your line 'fid_raw', and it would recall your
image file from the folder...i understand, this what you mean....

i hope it helps....
cheers
Faisal
[FileName, PathName] = uigetfile({'*.jpg';'*.bmp';'*.*'},'File Selector');

picture=imread([PathName FileName]);

fid_raw = fopen(iFilename,'r','ieee-le');
On 29/07/07, avinash_uv wrote:
>
> I am using Matlab 7 (R14) service pack 1.
>
> The imread function can not take a 32 bit geotiff image. Is there a
> way to read out the image data from this file.
>
> Is there a standard header length after which the data starts.
>
> I can not use this to get the image out:
>
> % Image
> w_line = 9912; %from imfinfo
> h_nlines = 10081; % "
> skip = 81127; % = image_size(from imfinfo) - (w_lines*h_nlines*4)
>
> %smaller chunck
> w = 1024;
> h = h_nlines;
>
> fid_raw = fopen(iFilename,'r','ieee-le');
> status = fseek(fid_raw,skip,'bof');
>
> for i= 1:h
> data(i,:)=fread(fid_raw,[1,w],'float32');
> status=fseek(fid_raw,(w_line - w),'cof');
> end
>
> thanks, Avinash
>