
vmoredge(1)                  Khoros                   vmoredge(1)

PROGRAM
     vmoredge - Morphological Edge Extraction for Binary Byte
     Images

SYNTAX
     vmoredge

     -i             input image

     -k             input kernel

     -o             output image

     [-V]           Gives the version for vmoredge

     [-U]           Gives the usage for vmoredge

     [-P]           Prompts for command line options

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

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

DESCRIPTION
     vmoredge computes an edge extraction in an image by using
     morphological operations.

     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.

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

     MORPHOLOGICAL METHOD FOR EDGE DETECTION:

          In image processing, the term edge is not as well
          defined as the term boundary. It has the intuitive
          meaning of boundary, but an edge need not be rigorously
          specified. Indeed an image can have numerous "edges",
          each one defined by the methodology from which it was
          derived.

          The purpose of an edge-detection methodology is to
          compress the image, more than giving a specific
          mathematical entity.

          The method used to extract an approximation of the true
          Euclidean boundary of a set A, is to apply the morpho-
          logical fundamental operations:
          MOREDGE(A,B) = D(A,B) - A

          The thickness of that approximation results from the
          thickness of the structuring element B.

          This edge can be called external edge.

          It is advisable to use a kernel whose center is located
          on (0,0) and is not on the border of the kernel itself.
          If the center is not on the border, the extracted edges
          will not be continuous. If we take, for example, the
          square kernel 2x2 with all values set to one and the
          origin or center located at (0,0), the resulting edge
          will not be desirable. This is because (0,0) is on the
          border of the kernel, so the dilation operation will
          not dilate the region in all directions.  When the mor-
          phological subtraction is processed, the upper border
          of the regions will not be detected.
          A 3x3 square kernel with all values set to one and the
          center located at (0,0) will give a correct edge map
          image. The extracted edges will have a thickness of
          one.

     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 structuring element (refer to vmcustom and
     lvmcustom).

     This algorithm was 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
     vmoredge -i image1 -k kernel -o image2
     Extract the edges of an image by computing the difference
     between the original image and the dilation by the input
     kernel.

SEE ALSO
     intro(1), verror(3), vgparms(3), vutils(3), lvmoredge(3)
     vmcustom(1), lvmcustom(3), lvmdilate(3), vmdilate(1)

RESTRICTIONS
     vmoredge accepts only Two Valued BYTE images, so it is
     strongly advisable to use vthresh before using vmoredge.

     The structuring element is an image file, nevertheless, it
     should always be created by vmcustom.

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

Khoros                    Release: 1.0                          1

