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


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

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

module CV.Bindings.Calibrate 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 14 "CV/Bindings/Calibrate.hsc" #-}

foreign import ccall "wrapCalibrateCamera2" c'wrapCalibrateCamera2
  :: Ptr C'CvMat -> Ptr C'CvMat -> Ptr C'CvMat -> Ptr C'CvSize -> Ptr C'CvMat -> Ptr C'CvMat -> Ptr C'CvMat -> Ptr C'CvMat -> CInt -> IO Double
foreign import ccall "&wrapCalibrateCamera2" p'wrapCalibrateCamera2
  :: FunPtr (Ptr C'CvMat -> Ptr C'CvMat -> Ptr C'CvMat -> Ptr C'CvSize -> Ptr C'CvMat -> Ptr C'CvMat -> Ptr C'CvMat -> Ptr C'CvMat -> CInt -> IO Double)

{-# LINE 16 "CV/Bindings/Calibrate.hsc" #-}

foreign import ccall "wrapFindCornerSubPix" c'wrapFindCornerSubPix
  :: Ptr BareImage -> Ptr C'CvPoint2D32f -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Double -> IO ()
foreign import ccall "&wrapFindCornerSubPix" p'wrapFindCornerSubPix
  :: FunPtr (Ptr BareImage -> Ptr C'CvPoint2D32f -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Double -> IO ())

{-# LINE 18 "CV/Bindings/Calibrate.hsc" #-}

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

{-# LINE 20 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_FIX_ASPECT_RATIO = 2
c'CV_CALIB_FIX_ASPECT_RATIO :: (Num a) => a

{-# LINE 21 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_FIX_PRINCIPAL_POINT = 4
c'CV_CALIB_FIX_PRINCIPAL_POINT :: (Num a) => a

{-# LINE 22 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_ZERO_TANGENT_DIST = 8
c'CV_CALIB_ZERO_TANGENT_DIST :: (Num a) => a

{-# LINE 23 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_FIX_FOCAL_LENGTH = 16
c'CV_CALIB_FIX_FOCAL_LENGTH :: (Num a) => a

{-# LINE 24 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_FIX_K1 = 32
c'CV_CALIB_FIX_K1 :: (Num a) => a

{-# LINE 25 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_FIX_K2 = 64
c'CV_CALIB_FIX_K2 :: (Num a) => a

{-# LINE 26 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_FIX_K3 = 128
c'CV_CALIB_FIX_K3 :: (Num a) => a

{-# LINE 27 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_FIX_K4 = 2048
c'CV_CALIB_FIX_K4 :: (Num a) => a

{-# LINE 28 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_FIX_K5 = 4096
c'CV_CALIB_FIX_K5 :: (Num a) => a

{-# LINE 29 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_FIX_K6 = 8192
c'CV_CALIB_FIX_K6 :: (Num a) => a

{-# LINE 30 "CV/Bindings/Calibrate.hsc" #-}
c'CV_CALIB_RATIONAL_MODEL = 16384
c'CV_CALIB_RATIONAL_MODEL :: (Num a) => a

{-# LINE 31 "CV/Bindings/Calibrate.hsc" #-}