Я работаю над примером проблемы, пытаясь получить суперпиксели с их цветами на изображении, используя Python. Когда я использую данный метод, я получаю черно-белое изображение суперпикселей. Чтобы получить цветное изображение, я работаю на примере C ++, единственном типе примера для этого класса, но я не понимаю часть происходящего.
SuperpixelSLIC.getLabels () возвращает целочисленный массив CV_32SC1, и я хочу получить цвета суперпикселей, хранящихся в этом массиве
Пример, который я читаю, написан на C ++ и получает цвет суперпикселя с помощью метода ниже
(метки - это целочисленный массив CV_32SC1)
Mat labels;
slic->getLabels(labels);
const int num_label_bits = 2;
labels &= (1 << num_label_bits) - 1;
labels *= 1 << (16 - num_label_bits);
imshow(window_name, labels);
break;
Я не понимаю, что это делает, хотя. Как битовый сдвиг работает на мат, выполняет ли сдвиг каждое целое число, хранящееся в массиве CV_32SC1?
Кроме того, как информация о цвете хранится в CV_32SC1?