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 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于... 点击进入详情页
本回答由东莞大凡提供
匿名用户
2015-09-13
展开全部
opencv中文论坛上那篇文章说得很清楚啊:

http://www.opencv.org.cn/forum.php?mod=viewthread&tid=11802
更多追问追答
追问
大神,能再直白一点吗?真是绕进去了,看不懂啊!
追答
上面的文章是讲标定的,原来你已经标定好了。
比如说一个点在左视图上的坐标是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]开根。
我自己没做过,不是大神,你才是。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式