InversePerspectiveMapping.hh
Go to the documentation of this file.
1 /***
2  * \file InversePerspectiveMapping.hh
3  * \author Mohamed Aly <malaa@caltech.edu>
4  * \date 11/29/2006
5  */
6 
7 #ifndef INVERSEPERSPECTIVEMAPPING_HH_
8 #define INVERSEPERSPECTIVEMAPPING_HH_
9 
10 
11 #include "cv.h"
12 #include "mcv.hh"
13 #include <list>
14 
15 //conf file for cameraInfo
16 #include "CameraInfoOpt.h"
17 
18 using namespace std;
19 
20 namespace LaneDetector
21 {
22 
26 typedef struct IPMInfo
27 {
29  FLOAT xLimits[2];
31  FLOAT yLimits[2];
39  int width;
41  int height;
44  float vpPortion;
46  float ipmLeft;
48  float ipmRight;
50  float ipmTop;
52  float ipmBottom;
55 }IPMInfo;
56 
58 typedef struct CameraInfo
59 {
74 }CameraInfo;
75 
76 //functions definitions
88 void mcvGetIPM(const CvMat* inImage, CvMat* outImage,
89  IPMInfo *ipmInfo, const CameraInfo *cameraInfo,
90  list<CvPoint>* outPoints=NULL);
91 
92 
103 void mcvTransformImage2Ground(const CvMat *inPoints,
104  CvMat *outPoints, const CameraInfo *cameraInfo);
105 
106 
116 void mcvTransformGround2Image(const CvMat *inPoints,
117  CvMat *outPoints, const CameraInfo *cameraInfo);
118 
131 
139 void mcvPointImIPM2World(FLOAT_POINT2D *point, const IPMInfo *ipmInfo);
140 
148 void mcvInitCameraInfo (char *const fileName, CameraInfo *cameraInfo);
149 
157  void mcvScaleCameraInfo (CameraInfo *cameraInfo, CvSize size);
158 
167 void mcvGetIPMExtent(const CameraInfo *cameraInfo, IPMInfo *ipmInfo);
168 
177 void mcvTransformImIPM2Ground(const CvMat *inMat, CvMat* outMat,
178  const IPMInfo *ipmInfo);
179 
189 void mcvTransformImIPM2Im(const CvMat *inMat, CvMat* outMat,
190  const IPMInfo *ipmInfo,
191  const CameraInfo *cameraInfo);
192 
193 } // namespace LaneDetector
194 
195 #endif /*INVERSEPERSPECTIVEMAPPING_HH_*/
float ipmRight
Right point in original image of region to make IPM for.
struct LaneDetector::IPMInfo IPMInfo
FLOAT_POINT2D focalLength
focal length in x and y
void mcvPointImIPM2World(FLOAT_POINT2D *point, const IPMInfo *ipmInfo)
FLOAT_POINT2D opticalCenter
optical center coordinates in image frame (origin is (0,0) at top left)
FLOAT pitch
pitch angle in radians (+ve downwards)
#define FLOAT_POINT2D
Definition: mcv.hh:33
void mcvInitCameraInfo(char *const fileName, CameraInfo *cameraInfo)
float ipmLeft
Left point in original image of region to make IPM for.
FLOAT cameraHeight
height of camera above ground
FLOAT imageHeight
height of images
FLOAT_POINT2D mcvGetVanishingPoint(const CameraInfo *cameraInfo)
FLOAT yaw
yaw angle in radians (+ve clockwise)
float ipmTop
Top point in original image of region to make IPM for.
struct LaneDetector::CameraInfo CameraInfo
Camera Calibration info.
void mcvGetIPM(const CvMat *inImage, CvMat *outImage, IPMInfo *ipmInfo, const CameraInfo *cameraInfo, list< CvPoint > *outPoints)
#define FLOAT
Definition: mcv.hh:36
float ipmBottom
Bottom point in original image of region to make IPM for.
void mcvGetIPMExtent(const CameraInfo *cameraInfo, IPMInfo *ipmInfo)
void mcvTransformImIPM2Ground(const CvMat *inMat, CvMat *outMat, const IPMInfo *ipmInfo)
void mcvTransformImage2Ground(const CvMat *inPoints, CvMat *outPoints, const CameraInfo *cameraInfo)
int ipmInterpolation
interpolation to use for IPM (0: bilinear, 1:nearest neighbor)
void mcvScaleCameraInfo(CameraInfo *cameraInfo, CvSize size)
void mcvTransformGround2Image(const CvMat *inPoints, CvMat *outPoints, const CameraInfo *cameraInfo)
Camera Calibration info.
void mcvTransformImIPM2Im(const CvMat *inMat, CvMat *outMat, const IPMInfo *ipmInfo, const CameraInfo *cameraInfo)


caltech_lanes
Author(s): Ricardo Morais
autogenerated on Mon Mar 2 2015 01:31:31