相关疑难解决方法(0)

如何验证网络摄像头校准的正确性?

我对相机校准技术完全不了解......我正在使用OpenCV棋盘技术...我正在使用Quantum的网络摄像头......

这是我的观察和步骤..

  1. 我保持每个国际象棋方面= 3.5厘米.这是一个7 x 5的棋盘,有6 x 4个内角.我在距离网络摄像头1到1.5米的距离拍摄了10张不同视角/姿势的图像.
  2. 我下面的C代码学习OpenCV的Bradski用于校准.我的校准代码是

    cvCalibrateCamera2(object_points,image_points,point_counts,cvSize(640,480),intrinsic_matrix,distortion_coeffs,NULL,NULL,CV_CALIB_FIX_ASPECT_RATIO);
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在调用此函数之前,我将沿着内部矩阵的对角线的第一个和第二个元素作为一个,以保持焦距的比率恒定并使用 CV_CALIB_FIX_ASPECT_RATIO

  4. 随着棋盘距离的变化fxfy变化fx:fy几乎等于1.有200到400的数量级cxcy值.当我改变距离时fx,fy它们在300到700的数量级.

  5. 目前我把所有的失真系数都归零,因为我没有得到包括失真系数在内的好结果.我的原始图像看起来比未失真的图像更漂亮!!

我正确地进行了校准吗?我应该使用除CV_CALIB_FIX_ASPECT_RATIO?之外的任何其他选项吗?如果是的话,哪一个?

opencv computer-vision camera-calibration

53
推荐指数
2
解决办法
3万
查看次数

OpenCV:solvePnP检测问题

我有使用OpenCV精确检测标记的问题.

我录制了这个问题的视频:http://youtu.be/IeSSW4MdyfU

如你所见,我正在检测的标记在某些摄像机角度稍微移动.我在网上看到这可能是相机校准问题,所以我会告诉你们我是如何校准相机的,也许你能告诉我我做错了什么?

在开始时我正在从各种图像中收集数据,并将校准角存储在这样的_imagePoints矢量中

std::vector<cv::Point2f> corners;
_imageSize = cvSize(image->size().width, image->size().height);

bool found = cv::findChessboardCorners(*image, _patternSize, corners);

if (found) {
    cv::Mat *gray_image = new cv::Mat(image->size().height, image->size().width, CV_8UC1);
    cv::cvtColor(*image, *gray_image, CV_RGB2GRAY);

    cv::cornerSubPix(*gray_image, corners, cvSize(11, 11), cvSize(-1, -1), cvTermCriteria(CV_TERMCRIT_EPS+ CV_TERMCRIT_ITER, 30, 0.1));

    cv::drawChessboardCorners(*image, _patternSize, corners, found);
}

_imagePoints->push_back(_corners);
Run Code Online (Sandbox Code Playgroud)

收集到足够的数据后,我用这段代码计算相机矩阵和系数:

std::vector< std::vector<cv::Point3f> > *objectPoints = new std::vector< std::vector< cv::Point3f> >();

for (unsigned long i = 0; i < _imagePoints->size(); i++) {
    std::vector<cv::Point2f> currentImagePoints = _imagePoints->at(i);
    std::vector<cv::Point3f> currentObjectPoints;

    for (int j = …
Run Code Online (Sandbox Code Playgroud)

camera opencv markers camera-calibration ios

20
推荐指数
2
解决办法
6467
查看次数