Newer
Older
SparseCodingDynamicOcclusions / ALOISampling / cropBackground.sh
@Hvitgar Hvitgar on 22 Sep 2016 2 KB Code, Data and Thesis added
#!/bin/bash

MASKDIR="output/aloi_mask4_eroded" #insert path to folder with the masks here
VIEWDIR=aloi_red4_view   #insert path to view changing images here
COLDIR=aloi_red4_col    #insert path to color changing images here
ILLDIR=aloi_red4_ill    #insert path to illuminance changing images here
OUTPUTDIR="output/croppedImages" #insert path to output directory here
NUMBEROFOBJECTS=1000 #the first x objects will be processed, 1000 is full


function usemask { #uses the mask on the image, inputfile first, mask second, outputpath third
convert ${1} ${2} -alpha Off -compose CopyOpacity -composite ${3}
}


function createfolders {
   mkdir ${OUTPUTDIR}
   mkdir ${OUTPUTDIR}/${VIEWDIR}
   mkdir ${OUTPUTDIR}/${COLDIR}
   mkdir ${OUTPUTDIR}/${ILLDIR}

   local i
   for i in `seq 1 ${NUMBEROFOBJECTS}`; do
      mkdir ${OUTPUTDIR}/${VIEWDIR}/${i}
      mkdir ${OUTPUTDIR}/${COLDIR}/${i}
      mkdir ${OUTPUTDIR}/${ILLDIR}/${i}
   done
}

function usemaskoncol { #processes all col images of the given object number
echo "Processing `echo ${COLDIR}/${1}`"
local i
   for i in $(ls ${COLDIR}/${1}); do
      usemask ${COLDIR}/${1}/${i} ${MASKDIR}/${1}/${1}_c1.png ${OUTPUTDIR}/${COLDIR}/${1}/${i}
   done
}

function usemaskonview { #processes all view images of the given object number
echo "Processing `echo ${VIEWDIR}/${1}`"

#first image gets dealt with separately because of different mask name
   usemask ${VIEWDIR}/${1}/${1}_r0.png ${MASKDIR}/${1}/${1}_c1.png ${OUTPUTDIR}/${VIEWDIR}/${1}/${1}_r0.png

#processing other images now
   local angle=5
   while [ ${angle} -le 355 ]; do
      IMAGE=${VIEWDIR}/${1}/${1}_r${angle}.png
      MASK=${MASKDIR}/${1}/${1}_r${angle}.png
      OUTPUTFILE=${OUTPUTDIR}/${VIEWDIR}/${1}/${1}_r${angle}.png
      usemask ${IMAGE} ${MASK} ${OUTPUTFILE}
      let angle=${angle}+5
   done
}

function usemaskonill { #processes all ill images of the given object number
echo "Processing `echo ${ILLDIR}/${1}`"
local c
local i
   for c in `seq 1 3`; do # filter for 3 different camera angles
      for i in $(ls ${ILLDIR}/${1} | grep c${c}); do
         usemask ${ILLDIR}/${1}/${i} ${MASKDIR}/${1}/${1}_c${c}.png ${OUTPUTDIR}/${ILLDIR}/${1}/${i}
      done
   done
}

createfolders

seq 1 $NUMBEROFOBJECTS | parallel ./crop.sh {}