Remote sensing image
preprocessing
Mini Project 1
Introduction to the topic
➔ Remote sensing images contains lot of data which can be used for many purposes:
◆ Agriculture
◆ Weather forecasting
◆ Environment study
◆ Natural hazards study
◆ Resource exploration
◆ Land use mapping
◆ Temperature and global warming extent detection
Content
1. Idea
2. Concepts of Hyperspectral Images
a. Introduction
b. Wavelengths
c. Reflectance Value
d. Interleave
i. BIP
ii. BIL
iii. BSQ
e. Data Ignore Value
3. GUI
4. References
Idea
➔ In this project we are basically going to design a GUI to load and process
hyperspectral images (.envi files).
➔ These images have a header (.hdr files) file without which the images cannot be
accessed.
➔ We would be able to access any bands and would be able to search any place on
the image.
➔ We would also remove the unnecessary parts and would focus on the vestige of
the image we need.
Concepts of Hyperspectral Images
Introduction
➔ Hyperspectral images collect and processes information from across the
electromagnetic spectrum.
➔ The goal of hyperspectral imaging is to obtain the spectrum of each pixel in the
image of the scene, with the objective of finding objects, identifying materials and
understanding processes.
➔ The spectral imaging, unlike human eye which sees 3-band images (RGB images),
converts the images into many more bands (220, 425, 825, etcetera).
Wavelengths
➔ Hyperspectral images records the spectra of fine wavelength resolution and cover
a wide range of wavelengths.
➔ The wavelengths may vary from any positive value to any other positive value.
Reflectance values
➔ The reflectance values are the values reflected by each substances with different
radiations and varies with different values of wavelength.
➔ Spectral reflectance coefficients represented in a function of wavelength, known
as spectral characteristic describes the dependence of the reflectance coefficients
of an object's surface from the wavelength of the incident radiation.
➔ This relationship is plotted on a graph of reflectance values vs wavelength.
➔ The negative reflectance values are of no use to identification of objects and
properties of the images of the scene.
Above graph is of reflectance value vs wavelength
Interleave
➔ There are basically 3 types of interleaves:
◆ Band Interleaved by Pixel (BIP)
◆ Band Interleaved by Line (BIL)
◆ Band SeQuential (BSQ)
➔ These interleave processes are used for image encoding for multiband images.
1. Band Interleaved by Pixels (BIP)
➔ The BIP data organisation can handle any number of bands, and thus
accommodates black and white, grayscale, pseudo colour, true colour and
multispectral image data.
➔ Example Raster image file produced during by remote sensing systems and
spectrometers.
2. Band Interleaved by Lines
➔ The BIL is not in itself and image format, but is a scheme for storing the actual
pixel values of an image in a file band by band for each line or row of the image.
➔ If there ‘n’ bands in an image, all ‘n’ bands are written for row 1, row2 and so on.
➔ The BIL encoding is a compromise format, allowing fairly easy access to both
spatial and spectral information.
3. Band SeQuential (BSQ)
➔ BSQ format is a very simple format, where each line of the data is followed
immediately by the next line in the same spectral band.
➔ This format is optimal for spatial (x,y) access of any part of a single spectral band.
Data Ignore Value
➔ A Data Ignore Value is designated pixel value that ENVI (Environment for
Visualisation Images) should ignore when processing an image or computing
statistics.
➔ The Data Ignore value field is available in the Save File As Parameters Dialog
when you save an image to disk.
GUI
➔ The GUI, presented above is made in python using Tkinter library.
➔ This library contains functions like Button, Menu, Canvas, Frame, etcetera.
➔ I also used classes like filedialog. This class contains functions used to open a
dialog box to navigate through computer drives and select the file.
➔ Here I first created a frame in which we will be making other features like buttons
or menu or even loading the photo.
➔ After that I created a navigation menu bar which contains options like “File” and
“Edit” which contains options like:
◆ File : “Open”, “Save” and “Exit”.
◆ Edit : “Bands” and “Scale”.
➔ The “File” option:
◆ The “Open” option will open a dialog box which will be used to select the “.ENVI” file which then
will be used to load the hyperspectral image.
◆ The “Save” option will save the current modified image as “.ENVI” file or any other as per user’s
choice.
◆ The “Exit” option will close the window and the program will shut down.
➔ The “Open” option opens a dialog box and allows us to select the image to open.
➔ For this I used the “spectral” library of python from which I used “io” class and
“envi” function.
Preprocessing
➔ As we know the bands having negative reflectance values are not used, we process
the image to remove it.
➔ For this I have used a python module named “Hyspeclib”. This library has
functions to remove the unnecessary bands and noise.
➔ It also gives us the number of the bands which are not necessary.
Preprocessing continued...
➔ It also removes these bands and stores the new image at a place so that we can use
it later.
➔ Also this image is divided into 2 parts:
◆ Having only noisy bands
◆ Having no noisy bands
➔ The reflectance values are transformed from large values to values between 0 and
1.
References
➔ https://www.rsipvision.com/image-processing-for-precise-agriculture/
➔ https://dialnet.unitoja.es/descarga/articulo/5178334.pdf
➔ https://gsp.humboldt.edu/OLM/Courses/GSP_216_Online/lesson2-1/reflectance.ht
ml
➔ http://www.spectralpython.net/
➔ https://github.com/hetul-patel/hyspeclib/
Thank You!!!
17BIT034 (Kandarp Kakkad)