c – 使用opencv与摄像机的物距

我想估计物体到相机的距离.这必须使用Opencv.
我读到我必须使用2个摄像头而不是一个,我用Matlab找到了一些代码,但我没有任何经验.
任何帮助将不胜感激.

解决方法:

是的,使用简单的针孔相机型号可以使用两个相机计算深度:

depth = bcm*fcm/(sensorWidthCm*disparity/(float)horizontalResolution);

这里,为了找到平均差异(关键点的水平像素位置差异),您可以使用SurfDescriptorExtractor并查找匹配对,您可以在链接中使用BFMatcher:
http://docs.opencv.org/doc/tutorials/features2d/feature_description/feature_description.html

fcm,bcm,sensorWidthCm和horizo​​ntalResolution都是摄像机参数:fcm是摄像机焦距,bcm是摄像机的分离,sensorWidthCm是摄像机传感器宽度,而horizo​​ntalResolution是水平方向的像素编号.实际上,您不需要单独使用所有这些参数.您只需要尝试一些已知的深度来找到比率:bcm * fcm / sensorWidthCm在图像捕获期间已知水平图像分辨率.

上一篇:c#-用于控制OWI-535机械手的API


下一篇:javascript – 延迟加载的功能可以在Angular 6中使用ngrx在功能之间进行通信吗?