Как унарный оператор минус работает с логическими значениями в C++?

В настоящее время я конвертирую некоторый код OpenCV с С++ на Java. Я не могу использовать JavaCV, так как нам нужно преобразование в родной Java, а не в JNA. В какой-то момент кода я получаю следующее назначение:

dst[x] = (uchar)(-(kHit >= kForeground));

Где dstuchar*, kHitи kForegroundintс.

Мне не удалось найти ничего о том, как это работает, и Java не распознает это как операцию. В другом месте кода есть операция над этими двумя переменными, и она сохраняет одно из двух значений :255 или 0.

Рассматриваемый код исходит из opencv/video/src/bgfg_gaussmix.cpp.

5
задан Konrad Rudolph 18 July 2012 в 14:46
поделиться