相关疑难解决方法(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万
查看次数

与对象网络摄像头C920HD的距离或使用OpenCV calibrate.py

我正在尝试确定物体的距离物体朝向相机的高度.是否可以或者我是否需要使用OpenCV calibrate.py来收集更多信息?我很困惑,因为罗技C920HD有3 MP并通过软件扩展到15 MP.

我有以下信息:

  • 分辨率(像素):1920x1080
  • 焦距(mm):3.67mm
  • 像素尺寸(μm):3.98
  • 传感器尺寸(英寸):1/2.88
  • 物体实际高度(mm):180
  • 物体图像高度(px):370

我检查了这个公式:距离

distance (mm) = 3.67(mm) * 180(mm) * 1080(px) / 511 (px) * (1/2.88)(inches)*2.54 (mm/inches)
Run Code Online (Sandbox Code Playgroud)

这给了我15.8厘米.它应该是约60厘米.

我究竟做错了什么?

感谢帮助!

webcam camera opencv image image-processing

8
推荐指数
1
解决办法
317
查看次数