Почему cv2.NORM_HAMMING дает другое значение, чем фактическое расстояние Хэмминга?

Тип компонента контейнеров, таких как векторы, должен быть присваиваемым . Ссылки не назначаются (вы можете их инициализировать только один раз, когда они объявлены, и вы не можете заставить их ссылаться на что-то еще позже). Другие не назначаемые типы также не допускаются как компоненты контейнеров, например. vector не разрешено.

2
задан Hasnat 19 February 2019 в 09:43
поделиться

1 ответ

Ваши значения:

180  25 195  96  96  88   0   0 
244  27 195  96  96 192   0   0

В двоичном формате

10110100 ‭00011001‬ ‭11000011‬ ‭01100000‬ ‭01100000‬ ‭01011000‬ 00000000 00000000
‭11110100‬ ‭00011011‬ ‭11000011‬ ‭01100000‬ ‭01100000‬ ‭‭11000000‬ 00000000 00000000
 ^             ^                             ^  ^^

Я считаю 5 отличий => Расстояние Хэмминга равно 5 => OpenCV верен

<час>

Совет:

Вы можете вычислить расстояние Хэмминга между двумя значениями, посчитав число «1» после XOR-го двух значений. Псевдокод:

HammingDistance = count_1(xor(val1, val2))

01011000
‭‭11000000‬ 
-------- xor
10011000 => it has 3 "1"
0
ответ дан Miki 19 February 2019 в 09:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: