在实时视频捕获应用程序中使用相机校准参数
Posted
技术标签:
【中文标题】在实时视频捕获应用程序中使用相机校准参数【英文标题】:Using camera calibration parameters in a real-time video capture application 【发布时间】:2013-10-20 18:31:32 【问题描述】:所以,我正在从廉价的 USB 网络摄像头捕捉视频。然后我从这个提要计算光流。我终于将这些optic-flow measurements
用于(monocular
)机器人导航。我已经校准了我的相机,并将 intrinsic
和 distortion
参数放在两个单独的 xml
文件中。
我的问题是,我现在如何在我的视频捕获代码中使用这些参数。如果有人可以使用code/pueudo-code
来展示这一点,那将非常有帮助。
【问题讨论】:
【参考方案1】:首先,在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中找到一些示例代码,这部分经常在校准程序中。
【讨论】:
以上是关于在实时视频捕获应用程序中使用相机校准参数的主要内容,如果未能解决你的问题,请参考以下文章