Я собираю трехмерное изображение руки из моего Kinect, и я хочу сгенерировать 2d-изображение, используя только значения X и Y для обработки изображений с использованием OpenCV. Размер 3d-матрицы является переменным и зависит от выхода от Kinect, а значения X и Y не в надлежащем масштабе для генерации 2-го изображения. Мои 3d очки и мой 3d изображения являются: http://postimg.org/image/g0hm3y06n/Преобразование 3d в 2d - PointCloud в OpenCV Image - C++
Я действительно не знаю, как я могу генерировать мой 2d изображения для выполнения моей обработки изображений.
Кто-то может помочь мне или иметь хороший пример, который я могу использовать для создания своего изображения и сделать правильное масштабирование для этой проблемы? Я хочу, чтобы вывести HAND CONTOURS.
Привет, Андрей, спасибо за ответ. Контуры, которые я найду, будут трехмерными точками? На самом деле, более простой подход, который я хочу, - создать Mat, jpg или другой вид изображения, который я могу выполнить Обработкой изображений, используя OpenCV для распознавания жестов. Вы знаете, как я могу сделать это преобразование? – lfelipesv
Вы можете получить двоичное изображение с помощью операторов морфологии. Вы можете применить cv :: dilate с размером ядра немного больше среднего расстояния между точками на изображении. Это увеличит количество очков, и вы получите сильный силуэт. Затем вы можете применить эрозию, чтобы уменьшить силуэт до первоначального размера. Эта операция называется закрытием http://en.wikipedia.org/wiki/Closing_(morphology) –
Привет, Андрей, это будет хорошо работать для меня, но у меня есть основная проблема, потому что для выполнения Erosion и Dilatation мне нужно создать изображение, которое я могу читать с помощью OpenCV imread. Теперь у меня есть только PCD (Point Cloud File), я уже сделал проецирование, поэтому мои компоненты X и Y отличаются от 0. Знаете ли вы, как я могу получить свой файл PCD и создать файл, который я могу читать с помощью imread ? Спасибо! – lfelipesv