## NAME

         orientation - calculates axis of least second moment

## SYNOPSIS

          #include <math.h>
          #include "ObjectContour.h"

         double orientation(Image * labeledImage, int r, int c)

          <labeledImage> -  pointer to a labeled image
          <r> - row coordinate of a point on a labeled image
          <c> - column coordinate of a point on a labeled image

## PATH

         $CVIPHOME/FEATURE/binary_feature.c

## DESCRIPTION

         The function calculates the axis of least second  moment  of
         an  object of interest on a labeled image. The origin is the
         center of area  of that object and  the  angle  is  measured
         from  the  r-axis  counterclockwise. Equation of the axis is
         given in chapter 2 of the soon-to-be-published book:

                    Computer Vision and Image Processing:
                     A practical Approach Using CVIPtools

                       S.E.Umbaugh, Prentice Hall, 1997

## TYPES AND CONSTANTS

         None

## RETURN VALUES

         A  value  of  type  double:  axis  of  least  second  moment
         represented by a radian angle

## HISTORY

         History information recorded: None

## EXAMPLE

          #include <math.h>
          #include "ObjectContour.h"
          #include "CVIPconvert.h"

          void main() {
             Image *inputImage, *labeledImage;
             IMAGE_FORMAT format;
             char *inputfile, *outputfile;
             int rows, cols, r, c;
             double result;

             setDisplay_Image("picture", "Default");
             print_CVIP("\nEnter the Input File Name:  ");
             inputfile = (char *) getString_CVIP();
             inputImage = read_Image(inputfile, 1);
             view_Image(inputImage,inputfile);

             labeledImage = label(inputImage);

             rows = getNoOfRows_Image(labeledImage);
             cols = getNoOfCols_Image(labeledImage);

             print_CVIP("\nEnter the row coordinate of any  pixel  on
         the labled image: ");
             r = getInt_CVIP(10, 0, rows);
             print_CVIP("0nter the col coordinate of any pixel on the
         labled image: ");
             c = getInt_CVIP(10, 0, cols);

             result = orientation(labeledImage, r, c);
             print_CVIP("The orientation of the object (r, c) =  %f",
         result );
             print_CVIP("\n");

             free(inputfile);
           }

## DIAGNOSTICS

         The labeled image can only of data type CVIP_INTEGER

## SEE ALSO

         libfeature

## AUTHOR

         Copyright (C) 1996 SIUE - by Scott E.  Umbaugh  and  Wenxing
         Li.