我对常见的代码更正有疑问。



为什么是600?为什么不将其保留为h =高度和w =宽度

 if (!isVerticalStereo) {
    sf = 600./MAX(imageSize0.width, imageSize0.height);
    w = cvRound(imageSize0.width*sf);
    h = cvRound(imageSize0.height*sf);
    canvas.create(h, w*2, CV_8UC3);
}
else {
    sf= 300./MAX(imageSize0.width, imageSize0.height);
    w = cvRound(imageSize0.width*sf);
    h = cvRound(imageSize0.height*sf);
    canvas.create(h*2, w, CV_8UC3);

最佳答案

据我了解,此代码的目的是确保图像的最长边在某些情况下不会超过600,在其他情况下不会超过300。它还可以保持定量。当我要确保处理时间不会超过一定数量时,我会亲自使用此模式。但是,我不确定这是否是计算机视觉的最佳实践。

关于opencv - 相机的校正不用于一行代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34384638/

10-10 22:20