# pammixmulti

Updated: 18 November 2018
Table Of Contents

## NAME

pammixmulti - blend together multiple PAM images

## SYNOPSIS

pammixmulti [--blend=average|random|mask] [--maskfile=filename] [--stdev=number] [--randomseed integer] filename ...

Minimum unique abbreviation of an option is acceptable. You can use a single hyphen instead of double hyphens to denote options. You can use white space in place of the equals sign to separate an option name from its value.

## DESCRIPTION

This file is part of Netpbm.

pammixmulti mixes two or more images to produce a new image. The program provides multiple ways to interpret "mix."

## OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options), pammixmulti recognizes the following command line options:

--blend=average|random|mask

  This option specifies how the input images should be mixed to produce the output image. With --blend=`average` (the default), each pixel in the output is produced by averaging the corresponding pixels from all the input images. With --blend=`random`, each pixel in the output is produced by selecting the corresponding pixel from one of the input images, chosen at random on a per-pixel basis. With --blend=`mask`, each pixel in the output is produced by a weighted average of the corresponding pixels from all the input images based on the grayscale level of an additional mask image.

--maskfile=filename

  In conjunction with --blend=`mask`, this option names a grayscale mask file to control the blending of each pixel. (If the file is not grayscale, the first channel is treated as gray). Where the mask file is black, the first image is selected. Where the mask file is white, the last image is selected. Intermediate levels of gray select intermediate images.

--stdev=number

  When used with --blend=`mask`, this option controls how smoothly the various input images are mixed to produce each output pixel. For example, consider running pammixmulti with three input images and a mask image that uses gray levels from 0 to 255. Given --stdev=0.0, gray levels 0-84 produce exclusively image 1; gray levels 85-170 produce exclusively image 2; and gray levels 171-255 produce exclusively image 3. If the argument to --stdev is positive, images are blended according to a normal distribution. Hence, gray levels around 85 produce an output pixel that includes roughly equal amounts of the corresponding pixel from images 1 and 2 but less of the corresponding pixel from image 3. As number tends towards the number of input images (going beyond that has diminishing impact), the output tends to look more like --blend=average. number defaults to 0.25.

--randomseed integer
  This is the seed for the random number generator used with --blend=random

  Use this to ensure you get the same image on separate invocations.

## ARGUMENTS

You supply the names of the files to mix as non-option arguments.

## EXAMPLES

Average a bunch of PPM images to produce a new PAM image:

        pammixmulti input*.ppm >output.ppm

Mix these same images by taking each pixel from a randomly selected input image:

        pammixmulti --blend=random input*.ppm >output.ppm

Use a mask image to control the fading among input images on a pixel-by-pixel basis:

        pammixmulti --blend=mask --maskfile=mask.pgm >output.pam \
           one.pam two.pam three.pam four.pam

Do the same but with more abrupt transitions:

        pammixmulti --blend=mask --maskfile=mask.pgm --stdev=0.0 >output.pam \
           one.pam two.pam three.pam four.pam

and now with more gradual transitions:

        pammixmulti --blend=mask --maskfile=mask.pgm --stdev=1.0 >output.pam \
           one.pam two.pam three.pam four.pam

## HISTORY

pammixmulti was new in Netpbm 10.85 (December 2018).

## AUTHOR

Copyright 2018 Scott Pakin, scott+pbm@pakin.org.

## SEE ALSO

pamcomp, ppmmix, pamarith, pnm, pam

## Table Of Contents

- SYNOPSIS
- DESCRIPTION
- OPTIONS
- ARGUMENTS
- EXAMPLES
- HISTORY
- AUTHOR
- SEE ALSO