1Ppmshift User Manual(0) Ppmshift User Manual(0)
2
3
4
6 ppmshift - shift lines of a PPM image left or right by a random amount
7
8
10 ppmshift shift [ppmfile]
11
12
14 This program is part of Netpbm(1).
15
16 ppmshift reads a PPM image as input. Shifts every row of image data to
17 the left or right by a random amount, within a range of shift pixels.
18 The random distribution is uniform, centered at zero movement.
19
20 The randomness in the image is limited before Netpbm 10.37 (December
21 2006) -- if you run the program twice in the same second, you may get
22 identical output.
23
24 This is another one of those effects I intended to use for MPEG tests.
25 Unfortunately, this program will not help me here - it creates too ran‐
26 dom patterns to be used for animations. Still, it might give interest‐
27 ing results on still images.
28
29
31 Check this out: Save your favourite model's picture from something like
32 alt.binaries.pictures.supermodels (ok, or from any other picture
33 source), convert it to ppm, and process it e.g. like this, assuming the
34 picture is 800x600 pixels:
35
36 #take the upper half, and leave it like it is
37 pamcut -top=0 -width=800 -height=300 cs.ppm >upper.ppm
38
39 #take the lower half, flip it upside down, dim it and distort it a little
40 pamcut -top=300 -width=800 -height=300 cs.ppm | \
41 pamflip -topbottom | \
42 ppmdim 0.7 | \
43 ppmshift 10 >lower.ppm
44
45 #and concatenate the two pieces
46 pnmcat -topbottom upper.ppm lower.ppm >newpic.ppm
47
48
49 The resulting picture looks like the image being reflected on a water
50 surface with slight ripples.
51
52
54 ppm(1), pamcut(1), pamflip(1), ppmdim(1), pnmcat(1)
55
56
57
59 Copyright (C) 1993 by Frank Neumann
60
61
62
63netpbm documentation 20 November 2008 Ppmshift User Manual(0)