{-# LINE 1 "CV/Bindings/Tracking.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LINE 2 "CV/Bindings/Tracking.hsc" #-}


{-# LINE 4 "CV/Bindings/Tracking.hsc" #-}

{-# LINE 5 "CV/Bindings/Tracking.hsc" #-}

{-# LINE 6 "CV/Bindings/Tracking.hsc" #-}

module CV.Bindings.Tracking where
import Data.Word
import Foreign.C.Types
import CV.Bindings.Matrix
import CV.Image
import CV.Bindings.Types

import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 15 "CV/Bindings/Tracking.hsc" #-}

foreign import ccall "wrapCamShift" c'wrapCamShift
  :: Ptr C'CvArr -> Ptr C'CvRect -> Ptr C'CvTermCriteria-> Ptr C'CvConnectedComp -> Ptr C'CvBox2D -> IO ()
foreign import ccall "&wrapCamShift" p'wrapCamShift
  :: FunPtr (Ptr C'CvArr -> Ptr C'CvRect -> Ptr C'CvTermCriteria-> Ptr C'CvConnectedComp -> Ptr C'CvBox2D -> IO ())

{-# LINE 17 "CV/Bindings/Tracking.hsc" #-}

foreign import ccall "wrapMeanShift" c'wrapMeanShift
  :: Ptr C'CvArr -> Ptr C'CvRect -> Ptr C'CvTermCriteria -> Ptr C'CvConnectedComp -> IO ()
foreign import ccall "&wrapMeanShift" p'wrapMeanShift
  :: FunPtr (Ptr C'CvArr -> Ptr C'CvRect -> Ptr C'CvTermCriteria -> Ptr C'CvConnectedComp -> IO ())

{-# LINE 19 "CV/Bindings/Tracking.hsc" #-}

-- void wrapSnakeImage(const IplImage* image, CvPoint* points, int length, float* alpha, float* beta, float* gamma, int coeff_usage, CvSize win, CvTermCriteria criteria, int calc_gradient=1)ΒΆ

foreign import ccall "cvSnakeImage" c'cvSnakeImage
  :: Ptr C'IplImage -> Ptr C'CvPoint -> Int -> Ptr Float -> Ptr Float -> Ptr Float -> Int -> Ptr C'CvSize -> Ptr C'CvTermCriteria -> Int -> IO ()
foreign import ccall "&cvSnakeImage" p'cvSnakeImage
  :: FunPtr (Ptr C'IplImage -> Ptr C'CvPoint -> Int -> Ptr Float -> Ptr Float -> Ptr Float -> Int -> Ptr C'CvSize -> Ptr C'CvTermCriteria -> Int -> IO ())

{-# LINE 23 "CV/Bindings/Tracking.hsc" #-}

c'CV_VALUE = 1
c'CV_VALUE :: (Num a) => a

{-# LINE 25 "CV/Bindings/Tracking.hsc" #-}
c'CV_ARRAY = 2
c'CV_ARRAY :: (Num a) => a

{-# LINE 26 "CV/Bindings/Tracking.hsc" #-}