How to patch images without color problem?

Felix Gershunov Felix at spsl.nsc.ru
Thu Jan 29 07:00:00 EST 1998



  Hi!

>actually I have to patch a mosaic of aerial photos together.
>After rectifying them I want to have one big image
>containing all the others.
>
>But now I run into trouble because the colors of all pictures
>except one (the first I specified in r.patch) are wrong.
>
>Does anybody know how to patch images properly?
>That should be possible in GRASS!
>
>With regards
>  
>   Markus Neteler
>

I did not use r.patch. But I solved the same task very simply.
Let's assume, what we have 4 raster files: r1, r2, r3 and r4.
Let each contains 256 categories. For association (patching) of these
files we shall write down script for the program r.mapcalc:

r_big=eval(\
       t1=if(r1,r1,r2+256), \
       t2=if(t1 % 256,t1,r3+512), \
       t3=if(t2 % 256,t2,r4+768), \
       t3)

Let's place it in a file r_big_script. Then set big region, which cover all
our raster files: r1, r2, r3 and r4.
Further we run:
r.mapcalc < r_big_script
 
The raster file r_big will contain 1024 categories.

Now it is necessary to patch the tables of colours. We can use the
following shell script:

echo '% 0 1024'>r_big
tail -n 256 r1>>r_big
tail -n 256 r2|awk -F':' '{print $1+256":"$2":"$3":"$4}'>>r_big
tail -n 256 r3|awk -F':' '{print $1+512":"$2":"$3":"$4}'>>r_big
tail -n 256 r4|awk -F':' '{print $1+768":"$2":"$3":"$4}'>>r_big

You must place colour table r_big in directory colr in your mapset.

That is all!

Warning: if in a result file more than 2048 categories, GRASS displays it
on the screen very slowly (on my Pentuim 166MMX with 32Mb RAM).
2048 categories or less - all OK.
More than 2048 categories - very slow work. Why? I do not know.

Hope this helps.

Sorry for my bad English.

                                                Felix.






More information about the grass-dev mailing list