diff options
Diffstat (limited to 'test/pamslice-roundtrip.test')
-rwxr-xr-x | test/pamslice-roundtrip.test | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/test/pamslice-roundtrip.test b/test/pamslice-roundtrip.test new file mode 100755 index 00000000..6cb5533f --- /dev/null +++ b/test/pamslice-roundtrip.test @@ -0,0 +1,75 @@ +#! /bin/bash +# This script tests: pamslice pamdeinterlace +# Also requires: pamcut pamtopnm pamflip + + +# Test 1. +# Slice rows, one by one, out of testgrid.pbm. +# Add header and reconstruct pbm image. +# Note that in pamslice output 0 is white and 1 is black: opposite of PBM +# Should print 2425386270 41 + +(echo "P1" + echo "14 16" + seq 0 15 | while read i; + do + pamslice -row=$i testgrid.pbm + done | awk '{print $2}' | sed 'y/01/10/' ) \ + | pamtopnm | cksum + +# Test 2. +# Slice rows, one by one, out of ppm test image +# We take a part out of testimg.ppm with pamcut for processing the +# whole image takes much time. +# Add header and reconstruct ppm image. +# Should print 914327477 4864 + +tmpdir=${tmpdir:-/tmp} + +test4933_ppm=${tmpdir}/test4933.ppm + +pamcut 50 50 49 33 testimg.ppm > ${test4933_ppm} + +(echo "P3" + echo "49 33" + echo "255" + seq 0 32 | while read i; + do + pamslice -row=$i ${test4933_ppm} + done | awk '{print $2, $3, $4}' ) \ + | pamtopnm | cksum + +# Same as above test 2, but take cols instead of rows. +# Should print 914327477 4864 + +(echo "P3" + echo "33 49" + echo "255" + seq 0 48 | while read i; + do + pamslice -col=$i ${test4933_ppm} + done | awk '{print $2, $3, $4}' ) \ + | pamflip -xy | cksum + +# Test 4. +# Divide input image into two with pamdeinterlace and recombine. + +testeven_ppm=${tmpdir}/testeven.ppm +testodd_ppm=${tmpdir}/testodd.ppm + +pamdeinterlace -takeodd ${test4933_ppm} > ${testodd_ppm} +pamdeinterlace -takeeven ${test4933_ppm} > ${testeven_ppm} + +(echo "P3" + echo "49 33" + echo "255" + ( seq 0 15 | while read i; + do + pamslice -row=$i ${testeven_ppm} + pamslice -row=$i ${testodd_ppm} + done + pamslice -row=16 ${testeven_ppm}; + ) | awk '{print $2, $3, $4}' ) \ + | pamtopnm | cksum + +rm ${test4933_ppm} ${testodd_ppm} ${testeven_ppm} |