Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C++

A simple RemoteSensing program

4.63/5 (10 votes)
22 Feb 2007CPOL3 min read 1   1.6K  
A remote sensing program to be used by land sat pictures
Screenshot - 1.jpg

Introduction

This project is a remote sensing simple program that uses land sat pictures.

Land Sat Picture Properties

Land sat picture files are raw data files (usually with .dat format) that are not viewable by Image programs because its files do not have any header, but they have known properties mentioned below:

  • Land sat pictures are 2048*2048 pixels in size
  • Each of its pixels is 8 bit (256 color) in black and white
  • The satellite gets imaging of a region in 7 bands (which means it photographs a zone in 7 different electromagnetic spectrums, 3 in visible light and the others in thermal infrared and infrared

Note that there is no need to know other technical properties of the satellite and its imaging for this project.

Screenshot - 2.jpg

Program Instruction

First of all you have to load 7 bands (this is done by pressing File -> Open menu (or Ctrl+O as a shortcut).

After loading all 7 bands one by one, you can press items and see what it will do.

Just to have their description, I will explain them in a nut shell.

Screenshot - menu.jpg
  • Disp B/W: It shows the black & white selected band
  • Hist: It displays the histogram of the selected band (that shows color in x direction [0=black and 255=white] and the number of pixels in y direction in comparative mode)
  • Disp color: It displays the color picture (by clicking this menu, a dialog appears that wants you to select the bands that are going to be displayed in red, green, blue colors)
  • OIF: By doing statistical computations it finds the most different bands (which are not similar to each other) and shows the display color made up of these 3 bands
  • Radiometric correction: It's just a shift of the histogram to the left (in practice it is used to correct the color amounts that are changed because of atmospheric effects). It asks you to click the minimum point which is in fact the beginning of the histogram. You have to click histogram first and after that can watch the changed picture by clicking display picture
  • Image processing: You can find some image processing tools here that I will explain one by one:
    • Invert: It inverts the band, that means it negatives the picture (changes black to white and white to black). You have to click histogram first and after that can watch the changed picture by clicking display picture
    • Density slicing: You tell the program that you want to divide the band into n slices and each slice size its new value is wanted. You have to click computations first and after that can watch the changed picture by clicking display picture or see the histogram by clicking Histogram
    • Contrast enhancement: You click the minimum & maximum point in sequence that stretches the Histogram. You have to click histogram first and after that can watch the changed picture by clicking display picture
    • Y=f(x): It instructs the selected function about the values of pixels. You have to click histogram first and after that can watch the changed picture by clicking display picture
    • Filters: It filters the picture by the selected filter. You have to click histogram first and after that can watch the changed picture by clicking display picture
  • Histogram equalization: It perspectives the differences of pixels by some statistical computations. It is used to make the differences of the pixels apparent in a logical manner. You have to click histogram first and after that can watch the changed picture by clicking display picture
  • Reset window: Click it to reset the environment

Note: All items except OIF and display color picture can be clicked even if all the 7 pictures are not loaded.

Note: If you don't have access to land sat pictures, you can load 2048*2048 black and white pictures (8 bit) to have a check of the programs.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)