我正在使用调整参数进行块匹配。
我使用了numDisparities的以下条件。
if (bmTuneVar::numDisparities_slider < 16 ) bmTuneVar::numDisparities_slider = 16;
if (bmTuneVar::numDisparities_slider % 16 == 0) bmTuneVar::numDisparities_slider+ 16;
当我从轨迹栏滑块获取值时。我明白了 超出范围的错误。和numDisparities应大于0并除以16。
我正在检查上述陈述。 然后我不知道它为什么会创建bug。 任何人都可以请指出原因。 谢谢。
答案 0 :(得分:0)
if (bmTuneVar::numDisparities_slider % 16 == 0) bmTuneVar::numDisparities_slider+ 16;
你的想法是将numDisparities_slider增加16? 那应该是
if (bmTuneVar::numDisparities_slider % 16 == 0) bmTuneVar::numDisparities_slider+=16;
答案 1 :(得分:0)
我把它修好了。
首先初始化numDisparities_slider
和
numDisparities_maxValue
并将此值设置为bm并使用任何值进行缩放。
如下所示。
bm->setNumDisparities(numDisparities_slider * 16);
希望这对其他人也有帮助。 干杯