opencv 摄像头标定后得到了内外参数,然后怎么把图片上两点的距离换算为物理实际距离呢?感谢! 10
2017-08-14
展开全部
我重新编译了Calibration那个程序,然后自己写了个批处理.bat文件,代码如下,删除txt,然后调用它del/f/qlist_of_images_auto(bmp).txtdir*.bmp/B>>list_of_images_auto(bmp).txtOpenCV_Example_Calibration.exe-w7-h8-s5-ocamera.txt-op-oelist_of_images_auto(bmp).txtpause其中-ocamera.txt表示输出参数的文件名。不过这样用着不爽。你看源代码里面cvWrite(fs,"camera_matrix",camera_matrix);cvWrite(fs,"distortion_coefficients",dist_coeffs);的地方,知道什么意思了吧,向txt里面写这两个参数我后来是这么存的cvSave("DistortionMatrix.xml",dist_coeffs);cvSave("IntrinsicsMatrix.xml",camera_matrix);这样下次调用的时候可以直接用矩阵拿来计算矫正intrinsic=(CvMat*)cvLoad("IntrinsicsMatrix.xml");distortion=(CvMat*)cvLoad("DistortionMatrix.xml");。。。cvInitUndistortMap(this->imgprocess.intrinsic,this->imgprocess.distortion,this->imgprocess.mapx,this->imgprocess.mapy);等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
东莞大凡
2024-11-14 广告
2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
2015-09-13
展开全部
更多追问追答
追问
大神,能再直白一点吗?真是绕进去了,看不懂啊!
追答
上面的文章是讲标定的,原来你已经标定好了。
比如说一个点在左视图上的坐标是x, y, 左右视图视差是d
那你就可以得到矩阵Q使得Q*[x, y, d, 1] = [X, Y, Z, W]。而[X, Y, Z]就是该点的三维坐标,你用(x1, y1)和(x2, y2)来算出他们各自的三维坐标,剩下的你就按照计算2个三维坐标点的距离来算:
[(X1 - X2)^2 + (Y1 - Y2)^2 + (Z1 - Z2)^2]开根。
我自己没做过,不是大神,你才是。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询