want to read and write a multiband image

5 views (last 30 days)
I wrote this programe for bad line correction but by using the below code m not getting the good image and i don't know how to read envi file format in matlab if someone knows plz help me out clear all; clc; a=multibandread('filename',[1300,256,242],'int 16',0,'bsq','ieee-le'); [m,n,h]=size(a) for i=1:m a(i,92,94) = ((a(i,91,94)+a(i,93,94)))/2; end a=multibandwrite('filename',[1300,256,242],'int 16',0,'bsq','ieee-le'); plz help me out someone....

Accepted Answer

Ashish Uthama
Ashish Uthama on 18 Mar 2011
You could try this file exchange submission.
If that doesnt work, please update your question with more details:
  • What is 'bad line correction'?
  • Link to a description of what ENVI files are, hopefully with the format details
  • What you mean by 'good image'. Are you getting the data, but its not interleaved right? Or are you getting the wrong data type, or something else.
  • Format the code and add comments, so that its easier for people to read. (I dont know why you are modifying the values in the for loop.)
  1 Comment
Prince
Prince on 18 Mar 2011
"bad line correction means if there are no values in any column for the bands and we average the value by the adjacent ones.
*envi files are BSQ,BIL,BIP
*good image means from which i can visualize the objects. like buildings roads etc.

Sign in to comment.

More Answers (1)

Evelyn Livermore
Evelyn Livermore on 16 Apr 2011
ENVI files are classified by their header file, which contains information on how many bands, which wavelengths and the x-y resolution. Example: 400*400 resolution, with 250 spectral bands in the visual spectrum.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!