GRASS-Anwendungen am Institut
- r.split.rgb -

#!/bin/bash
# Name: 		r.split.rgb
# Purpose:		Auftrennen von RGB-Bildern in die einzelnen Kanäle
# Usage:		Eingabe eine Rasterkarte, es werden drei Rasterkarten ausgegeben
# 			die nach der Eingangskarte plus den Buchstaben des Farbkanals 
#			benannt sind.
# ---------------------------------------------------------------------------

# function(s)
# -----------

raster_exist()
{
	echo -e "Resulting rastermaps $raster \b_r,_b,_g already exist, overwrite (y/N) ? \c"
	read kill_exist_rgb
	case "$kill_exist_rgb" in
	y|Y) return 1;;
	  *) exit 1;;
	esac
}	


# Main section
# ------------

if [ "$1" = "" ];
  then
    echo ""
    echo "Correct Usage : r.split.rgb "
    echo ""
	echo -e "		-	Name of existing RGB-Rastermap"
	echo -e "Output:\n_b,_g,_r	-	Names of seperated color bands\n" 
    exit 1
fi

if ! test -e $LOCATION/cell/$1
  then
	echo -e "Rastermap $1 not available !"
	exit 1
  else
	if test -e $LOCATION/cell/$1_r
	  then
	   raster=$1
	   raster_exist
	fi
fi 

r.mapcalc $1_r=r#$1
r.mapcalc $1_g=g#$1
r.mapcalc $1_b=b#$1

cat rules_blue.txt | r.colors -q map=$1_b color=rules
cat rules_green.txt | r.colors -q map=$1_g color=rules
cat rules_red.txt | r.colors -q map=$1_r color=rules

echo "Endlich fertig !"
					

z.B. rules_blue.txt:
black
blue
end