Image Processing

 

| HOME |

Both Matrix and Image objects can be regarded as image, and Noobeed offer a number of image processing functions that can be apply on Matrix or Image objects, for example filtering, histogram stretching, histogram matching, brightness reclassification, edge detector, line follower etc.  Please see section Example in Matrix and Example in Remote sensing for more details.

An example is given below is to perform a histogram matching.

Here we have two vertical aerial images, which are taken at a slightly different angle.  The left and the right images are shown as follows.

Left image

 

Right image

 

It is seen that the left and right images have a remarkable different contrast, and we are going to adjust the left image contrast so that it will be as much similar as possible to that of the right one.  Histogram matching technique is one of the reliable and accurate techniques for this purpose.  It takes into account the shape of the histogram of the original image and the one being matched.  The theory behind is not complicated and can be found in reference books.

The following is an surprisingly-short command in Noobeed to adjust image contrast by histogram matching.  Please note that "A" is the left image and "B" is the right image, whose histoigram is going to be matched.  The "vec_tmp" is a sort of a look up table, telling the brightness values in the original image and the new values that match the mathing image.  The vector is used as an argument to readjust the brightness values of the original image, using function "lookup".  The result is the image "C", which is shown at the end of the program.

->A = image_uch()

->A.loadtif("6176_400")

->B = image_uch()

->B.loadtif("6175_400")

->vec_tmp = A.histmatch(B)

->C = A.lookup(vec_tmp)

->C.savetif("6176_new")

 

Left image (new)

 


| HOME |