Gimp multi-layer technique

When I work on a photo using the GIMP, I typically follow a technique that focuses either on the Grain Merge filter or the Value filter.

Before I decide the values for any filter, I create two layers, copied from the base picture:
– BW
– CE
And later I might create some masks or shade layers, and I’ll explain those later.

My base image:Screenshot at 2016-09-10 21:19:08.png
First: the desaturated layer (BW) I often use a luminance style desaturation, since that provides more intersting contrast. I might use the Brightness-Contrast filter on that layer afterwards, in order to boost that layers effect. When it comes to using that layer, recently I use it as a Value layer at full opacity. I used to use it as a Grain Merge layer at about 50% opacity, but I tend to find that effect too bold.

screenshot-at-2016-09-10-211748

Next, I use a color enhance step on the CE layer. This I tend never to use at full opacity, that would be absurd. I generally apply a color enhanced layer at about 20-40% opacity as visually appropriate. This helps me get to the saturation level I pre-visualized for the photo.

screenshot-at-2016-09-10-211847Recently, I’ve been using a channel-mixer layer. In this case, i clone the original layer as I would normally, but I choose to Channel Mixer, and often I pull down the blue and green channels to boost the golden or red hues of the scene. You don’t have to do this much, even 10% for each channel can be plenty. And when I do this, I might apply it as a Color or as a Soft Light layer in the mix.

Some times I apply some sharpening, but most of the time I tend not to, as Unsharp Mask can be a very heavy hammer to wield on a photo.

The combination of a desaturated Value layer enhances constrast, the channel mixer and or the color enhancement layer provides the color boost I typically want.  Some sharpening is optional. Please try the technique and let me know what kind of results you find!

spencer-spit-sunset-pano-4000x1080

Adopting Complexity 

Becoming a grey beard geek has involved adopting complexity. Some would assume unnecessary complexity… But other recognize ideal underneath the tangle: a challenge to master. 

Setting yourself a regular challenge keeps your hopes set higher than the horizon. Geek on! 

Updated Bash CPU Meter

In August, I did a post on a pretty simple bash cpu meter. This one is still Intel-only, but is records the range of frequencies used during a report.

#!/bin/bash
COLWID=17
MAXTURBO=4200
function find_lines {
   local i=0
   local j=0
   while read line; do
      if [[ $line =~ cpu\ MHz ]]; then
         cpu[i]=$j
         ((i++))
      fi
      ((j++))
   done < /proc/cpuinfo
}
function get_mhz() {
   mhz=()
   local cpulines=()
   local line hunks m L i c
   for i in `seq 1 15`; do
      c=0;
      readarray cpulines < /proc/cpuinfo
      for L in "${cpu[@]}"; do
          line="${cpulines[$L]}"
          hunks=($line)
          m=${hunks[3]}
          mhz[c]+="${m%.*} "
          ((c++))
       done
       sleep 0.1s
    done
}
# main
find_lines
while [[ 1 = 1 ]]; do
    COLS=`tput cols`
    mhz=()
    get_mhz
    cpunum=0
    for A in ${cpu[@]}; do
       lowest=0
       highest=0
       for H in ${mhz[$cpunum]}; do
         (( $H > $highest)) && highest=$H
         (( $lowest == 0    )) && lowest=$H
         (( $H < $lowest )) && lowest=$H
      done      
      outline=""      
      bars=$(( ($lowest * ($COLS-$COLWID) )/$MAXTURBO))
      for (( L=1; L<=$bars; L++ )); do
         outline=$outline"-"
      done
      bars=$(( (((1+$highest)-$lowest) * ($COLS-$COLWID))/$MAXTURBO))
      for (( L=1; L<=$bars; L++ )); do
         outline=$outline"="
      done
      d=$(($cpunum+9900))
      echo "${d##99} $lowest-$highest $outline"
      ((cpunum++))
   done
   echo ""
   sleep 0.1
done
#