opencv - 在实时视频捕获应用程序中使用相机校准参数

标签 opencv video camera calibration

因此,我正在从廉价的USB网络摄像头捕获视频。然后,我从该提要中计算光流量。我终于将这些optic-flow measurements用于(monocular)机器人导航。我已经校准了相机,并且在两个单独的intrinsic文件中具有distortionxml参数。

我的问题是,现在如何在视频捕获代码中使用这些参数。如果有人可以使用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中找到一些示例代码,这通常是在校准程序中。

关于opencv - 在实时视频捕获应用程序中使用相机校准参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19481212/

相关文章:

python - YouTube-DL Python 输出文件格式不是 mp4

javascript - WebRTC。不显示视频

python - 从 2 个摄像头捕获(OpenCV、Python)

java - Libgdx:FitViewPort 不工作

cordova - 从实时相机预览中获取特定像素的颜色 - Ionic

python - 如何使用 GCP Vision 或 OpenCV 提取图像中的自动文本和手写文本

python - OpenCV 将所有文本处理为白底黑字(分割)

OpenCV 填充缺失像素

video - webM 文件在移动设备上显示绿色和紫色效果

python - 如何定位视频子集的时间戳