
vmopen(1)                    Khoros                     vmopen(1)

PROGRAM
     vmopen - computes the opening of an image by a structuring
     element

SYNTAX
     vmopen

     -i             input image

     -k             input kernel

     -o             output image

     [-V]           Gives the version for vmopen

     [-U]           Gives the usage for vmopen

     [-P]           Prompts for command line options

     [-A [file1]]   Creates the answer file called vmopen.ans or
                    file1

     [-a [file1]]   Uses vmopen.ans or file1 as the answer file

DESCRIPTION
     vmopen computes the opening of an image by a structuring
     element B

     From a general scientific perspective, the word MORPHOLOGY
     refers to the study of form and structure.

     The morphological approach is generally based upon the
     analysis of a two valued image in terms of some predeter-
     mined geometric shape known as a structuring element. Essen-
     tially, the manner in which the structuring element fits
     into the image is studied.

     The morphological operations can be employed for many pur-
     poses, including edge detection, segmentation, and enhance-
     ment of images.

     BASIC OPERATIONS:

     Most morphological operations can be defined in terms of two
     basic operations, the EROSION (i.e. vmerode) and the DILA-
     TION (i.e. vmdilate)

     Besides the two fundamental operations of EROSION and DILA-
     TION, two other operations play a central role in image
     analysis.

     These two secondary operations, called OPENING and CLOSING
     are defined by combination of erosion and dilation.

     Notation: erode(A,B) = E(A,B)
               dilate(A,B) = D(A,B)
               open(A,B) = O(A,B)
               close(A,B) = C(A,B)
               complement(A) = Ac

     DEFINITION OF THE OPENING
       O(A,B) = D(E(A,B),B)
       For information,  C(A,B) = E(D(A,-B),-B) with
       -B = rotation(B,180 degrees) = vm180(B).

     PROPERTIES of the OPENING:

     1. O(A,B) = { B + x : B + x is included in A }

     2. duality between the opening & closing
               O(A,B) = C(complement(A),B)
               Complement [O(A,B)] = C(complement(A),B)
               O(complement(A),B) = complement [ C(A,B) ]
               complement [O(complement(A),B) ]  = C(A,B)

     3. Antiextensivity
               O(A,B) is a subimage of A

     3. Increasing monotonicity
               If A1 is a subimage of A2, the O(A1,B) is a subim-
               age of O(A2,B)

     4. Idempotence
               O[O(A,B),B] = O(A,B)

     These properties play an important role in the use of open-
     ing for the construction of morphological filters. The open-
     ing by a disk can have a smoothing effect (from the inside);
     it acts as a filter, with the exact result being dependent
     upon the shape of the structuring template.

     SET OF MORPHOLOGICAL FUNCTIONS:

     vmopen is one of the morphological functions available.

     vmcustom:   Customizes a structuring element

     vm180:      180 degree rotation of a structuring element

     vmerode:    erosion

     vmdilate:   dilation

     vmclose:    closing

     vmoredge:   edge extractor

     vmskeleton: skeleton extractor

     ADVICE:  For this binary opening function, all grey levels
     different from 0 are considered "white" or equivalent to
     255.

     Therefore, the image is not required to be binary, however,
     it is strongly advisable to use vthresh on grey level images
     before using any morphological function.

     The structuring element must be a morphological kernel
     (created by vmcustom).

     This kernel is nothing but an image file with two variables,
     ispare1 and ispare2 that define the origin of the structur-
     ing element (refer to vmcustom and lvmcustom).

     These algorithms were obtained from:

          "Morphological Methods in Image and Signal Processing"

          Charles R. Giardina

          Edward R. Dougherty

          Prentice Hall, Englewood Cliffs, New Jersey 07632

REQUIRED ARGUMENTS
     -i     type: infile
            desc: input image

     -k     type: infile
            desc: input kernel

     -o     type: outfile
            desc: output image

OPTIONAL ARGUMENTS
     none

EXAMPLES
     vmopen -i image1 -k kernel -o image2
     This will compute the opening of image1 by the structuring
     element (morphological kernel) kernel, and store the result
     in image2.

SEE ALSO
     intro(1), verror(3), vgparms(3), vutils(3), lvmopen(3)
     lvm180(3)

RESTRICTIONS
     vmopen works only on two valued BYTE images and requires a
     morphological kernel created with vmcustom.

COPYRIGHT
     Copyright 1991, University of New Mexico.  All rights
     reserved.

Khoros                    Release: 1.0                          1

