所以,我正在从一个便宜的 USB 网络摄像头捕捉视频。然后我从这个提要计算光流。我终于将这些optic-flow measurements
用于(monocular
)机器人导航。我已经校准了我的相机,并将intrinsic
和distortion
参数放在两个单独的xml
文件中。
我的问题是,我现在如何在我的视频捕获代码中使用这些参数。如果有人可以请使用 a 来展示它code/pueudo-code
,那将非常有帮助。
所以,我正在从一个便宜的 USB 网络摄像头捕捉视频。然后我从这个提要计算光流。我终于将这些optic-flow measurements
用于(monocular
)机器人导航。我已经校准了我的相机,并将intrinsic
和distortion
参数放在两个单独的xml
文件中。
我的问题是,我现在如何在我的视频捕获代码中使用这些参数。如果有人可以请使用 a 来展示它code/pueudo-code
,那将非常有帮助。
首先,在 xml 文件中加载内在失真。
然后,使用 blow 之类的代码来纠正原始图像。
IplImage* mapx = cvCreateImage( cvGetSize(image), IPL_DEPTH_32F, 1 );
IplImage* mapy = cvCreateImage( cvGetSize(image), IPL_DEPTH_32F, 1 );
cvInitUndistortMap(
intrinsic,
distortion,
mapx,
mapy
);
IplImage *t = cvCloneImage(image);
cvShowImage( "Raw Video", image ); // Show raw image
cvRemap( t, image, mapx, mapy ); // Undistort image
cvShowImage("Undistort", image); // Show corrected image
如果你已经安装了 OpenCV ,一些示例代码可以在 opencv2.4.x\samples\cpp 中找到,这部分通常在校准程序中。