Kinect возвращает вам матричную деф-карту, которая представляет расстояние любой поверхности до датчика, и после pinhole camera model можно выровнять каждую меру глубины с соответствующим значением RGB. Я подумаю, что вы уже знаете, как соотнести каждый пиксель матрицы глубины с X, Y, Z на пространстве и значением RGB. Если нет, вам нужно будет сделать further research и понять, как выполняется стереокорреляция между датчиком глубины и камерой RGB.
Вы задали здесь два совершенно разных вопроса. Первая из них легко разрешима с некоторым базовым понятием геометрии, но необходимо сначала решить вторую, чтобы найти положение объекта в пространстве.
Существует несколько подходов к поиску ярких объектов. Если ваш датчик записывает статическую сцену, можно использовать Background Subsctraction. Это даст вам двоичное изображение, представляющее пиксели с разными значениями из ранее подготовленной фоновой модели. Поскольку ваши объекты будут явно иметь яркие цвета, чем фон, вы можете просто применить Thresholding Segmentation. Просто преобразуйте RGB в изображение HSL и посмотрите на более высокие значения яркости. Есть несколько других методов, исследование для них, если они не решают вашу проблему. После обоих этих методов будет возвращено вам двоичное изображение с блобами. Вы можете использовать центр этих blobs в качестве матричных координат ваших ярких объектов.
С 3 центра блобов A «B» и C»вы сможете найти самолет, который вы ищете, как показано на рисунке:
Объяснение: Плоскость может быть представлена как точка (положение) и нормальная (ориентация). Учитывая, что все ваши объекты будут точно в плоскости, которую вы пытаетесь найти, все, что вам нужно, это 3 балла, A, B, C, которые будут представлять треугольник внутри этой плоскости. Эта норма треугольника равна (A - B) x (C - B) - здесь x представляет собой поперечное произведение - и такое же, как и плоскость. Таким образом, ваш самолет будет любым из этих трех очков, и этот треугольник нормальный. Если размеры объекта значительны, вам нужно будет принять их во внимание, чтобы определить свою позицию на плоскости.
это отличный ответ, вы сделали много kinect? –
Ну. Я сделал некоторые работы с ним, и сделал некоторые проекты компьютерного зрения тоже. Хороший взгляд! –
Я хочу создать игру в понг, используя футбол для управления веслами. –