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
reading a 32 bit geotiff image
Started by ●July 30, 2007
Reply by ●July 31, 20072007-07-31
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
>
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
>