NumDisparity вне диапазона.

Я получаю соответствие блоков с помощью параметра настройки.

Я использовал следующие условия для numDisparities.

if (bmTuneVar::numDisparities_slider < 16 )  bmTuneVar::numDisparities_slider = 16;

if (bmTuneVar::numDisparities_slider % 16 == 0) bmTuneVar::numDisparities_slider+ 16;

Когда я получаю значение от ползунка трекбар. я получил
ошибка это вне диапазона. и numDisparities должно быть больше 0 и делится на 16.

это то, что я проверяю вышеизложенное.
тогда я не понимаю, почему это создает ошибку.
Кто угодно может указать причину.
Благодарю.

0

Решение

if (bmTuneVar::numDisparities_slider % 16 == 0) bmTuneVar::numDisparities_slider+ 16;

Ваша идея здесь состоит в том, чтобы увеличить numDisparities_slider на 16?
тогда должно быть

if (bmTuneVar::numDisparities_slider % 16 == 0) bmTuneVar::numDisparities_slider+=16;
0

Другие решения

Ну, я исправил это так.

сначала инициализировать numDisparities_slider а также

numDisparities_maxValue

и установите это значение в bm и масштабируйте его с любым значением.

как ниже.

bm->setNumDisparities(numDisparities_slider * 16);

Надеюсь, что это помогает другим.
ура

0

По вопросам рекламы [email protected]