|
Packit |
78deda |
#! /bin/bash
|
|
Packit |
78deda |
# This script tests: ppmmix
|
|
Packit |
78deda |
# Also requires: pamdepth pamenlarge pamsumm pbmmake
|
|
Packit |
78deda |
# Also requires: pgmtopgm pnminvert ppmtopgm
|
|
Packit |
78deda |
|
|
Packit |
78deda |
|
|
Packit |
78deda |
tmpdir=${tmpdir:-/tmp}
|
|
Packit |
78deda |
|
|
Packit |
78deda |
# Test 1. Print a pretty checkerboard pattern
|
|
Packit |
78deda |
a1_pgm=${tmpdir}/a1.pgm
|
|
Packit |
78deda |
a2_pgm=${tmpdir}/a2.pgm
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pbmmake -g 8 8 | pgmtopgm > ${a1_pgm} &&
|
|
Packit |
78deda |
pbmmake -g 2 2 | pamenlarge 4 | pgmtopgm > ${a2_pgm} &&
|
|
Packit |
78deda |
ppmmix 0.75 ${a1_pgm} ${a2_pgm} | ppmtopgm | pamdepth 3 -plain &&
|
|
Packit |
78deda |
rm ${a1_pgm} ${a2_pgm}
|
|
Packit |
78deda |
|
|
Packit |
78deda |
# Mix image with itself.
|
|
Packit |
78deda |
# Output should match input regardless of ratio.
|
|
Packit |
78deda |
for i in 0 0.5 0.6 1
|
|
Packit |
78deda |
do
|
|
Packit |
78deda |
ppmmix $i testimg.ppm testimg.ppm | cksum
|
|
Packit |
78deda |
done
|
|
Packit |
78deda |
|
|
Packit |
78deda |
# Mix image with its own inverse.
|
|
Packit |
78deda |
# Output should be a monotone gray sheet.
|
|
Packit |
78deda |
a3_ppm=${tmpdir}/a3.ppm
|
|
Packit |
78deda |
|
|
Packit |
78deda |
pnminvert testimg.ppm | ppmmix .5 \
|
|
Packit |
78deda |
testimg.ppm - | tee ${a3_ppm} | \
|
|
Packit |
78deda |
pamsumm -brief -max &&
|
|
Packit |
78deda |
pamsumm -brief -min ${a3_ppm} &&
|
|
Packit |
78deda |
rm ${a3_ppm}
|