#!/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 {}