The -d or --device-name options must be followed by a SANE device-name like "epson:/dev/sg0" or "hp:/dev/usbscanner0". A (partial) list of available devices can be obtained with the --list-devices option (see below). If no device-name is specified explicitly, scanimage reads a device-name from the environment variable SANE_DEFAULT_DEVICE. If this variable is not set, scanimage will attempt to open the first available device.
The --format format selects how image data is written to standard output. format can be pnm or tiff to select file format PNM or TIFF. If --format is not used, PNM is written.
The --accept-md5-only option only accepts user authorization requests that support MD5 security. The SANE network daemon (saned) is capable of doing such requests. See saned(1)
The -h or --help options request help information. The information is printed on standard output and in this case, no attempt will be made to acquire an image.
The -L or --list-devices option requests a (partial) list of devices that are available. The list is not complete since some devices may be available, but are not listed in any of the configuration files (which are typically stored in directory /etc/sane.d). This is particularly the case when accessing scanners through the network. If a device is not listed in a configuration file, the only way to access it is by its full device name. You may need to consult your system administrator to find out the names of such devices.
The -f or --formatted-device-list option works similar to --list-devices, but requires a format string. scanimage replaces the placeholders %d %v %m %t %i with the device name, vendor name, model name, scanner type and an index number respectively. The command
The -v or --verbose options increase the verbosity of the operation of scanimage. The option may be specified repeatedly, each time increasing the verbosity level.
The -V or --version option requests that scanimage prints the program and package name, the version number of the SANE distribution that it came with and the version of the backend that it loads. Usually that's the dll backend. If more information about the version numbers of the backends are necessary, the DEBUG variable for the dll backend can be used. Example: SANE_DEBUG_DLL=3 scanimage -L.
The --batch* options provide the features for scanning documents using document feeders. --batch[=FORMAT] is used to specify the format of the filename that each page will be written to. Each page is written out to a single file. If the FORMAT is not specified, the default of out%d.pnm (or out%d.tif for --format tiff) will be used. FORMAT is given as a printf style string with one integer parameter. --batch-start=# selects the page number to start naming files with. If this option is not given, the counter will start at 0. --batch-count=# specifies the number of pages to attempt to scan. If not given, scanimage will continue scanning until the scanner returns a state other than OK. Not all scanners with document feeders signal when the ADF is empty, use this command to work around them. With --batch-increment=# you can change the amount that the number in the filename is incremented by. Generally this is used when you are scanning double-sided documents on a single-sided document feeder. A specific command is provided to aid this: --batch-double will automatically set the increment to 2.
As you might imagine, much of the power of scanimage comes from the fact that it can control any SANE backend. Thus, the exact set of command-line options depends on the capabilities of the selected device. To see the options for a device named dev, invoke scanimage via a command-line of the form:
The documentation for the device-specific options printed by --help is best explained with a few examples:
--brightness -100..100% 
Controls the brightness of the acquired image.
Set default values for enhancement controls.
--mode Lineart|Gray|Color [Gray]
Selects the scan mode (e.g., lineart or color).
Determines whether a builtin or a custom gamma-table
should be used.
Note that the --help option is processed only after all other options have been processed. This makes it possible to see the option settings for a particular mode by specifying the appropriate mode-options along with the --help option. For example, the command-line:
scanimage --help --mode color
would print the option settings that are in effect when the color-mode is selected.
Gamma-correction table. In color mode this option
equally affects the red, green, and blue channels
simultaneously (i.e., it is an intensity gamma table).
--filename <string> [/tmp/input.ppm]
The filename of the image to be loaded.
scanimage uses this information to answer user authorization requests automatically. The file must have 0600 permissions or stricter. You should use this file in conjunction with the --accept-md5-only option to avoid server-side attacks. The resource may contain any character but is limited to 127 characters.