По сути это тоже векторное поле, просто все вектора имеют координату X одного знака, а координату Y нулевую.
Не совсем понятно, можешь объяснить поподробнее?
Эпиполярные линии - это в смысле учет того, что соответствующее положение этого фрагмента на другом изображении может быть только в самом общем виде на некоторой кривой? Да разумеется, более того, я считаю что изображения обработаны так, что эта кривая есть горизонтальный отрезок.
Для соосных камер, находящихся в одной горизонтальной плоскости, со скорректированным бочкообразным эффектом это в самом деле горизонтальная прямая.
Это функции по OpticalFlow, но скорее всего их можно раздраконить и загнать в них учет тех самых эпиполярных линий, если я правильно понял что это такое.
Посмотрю как будет время. Но мне, почему то казалось, что со стереозрением они работать не будут.
Сергей Мальцев писал(а):Что за проблемы с синхронизацией?
А как обеспечить, чтобы обе камеры сделали снимок синхронно?
Сергей Мальцев писал(а):Мне кажется что большие расстояния не очень нужны, по крайней мере на начальном этапе. А ты уверен что motion-flow на больших расстояниях хорошо работает?
Motion-flow потенциально может накапливать информацию хоть в течение часа брождения вокруг объекта, а стереозрение обладает информацией только одномоментной с точки, откуда может принципиально быть не видно "чего там". Большие расстояния это в рамках человеческого зрения вроде порядка 1-2м.
Сергей Мальцев писал(а):А вот тут точно не известно что при рассматривании с разных сторон используется больше. Это может использоваться стереозрением для запоминания максимальной информации о предмете.
Ок, оставим спорный вопрос, хотя тогда становится интересным - действительно ли при получении информации не используется старая информация? Ведь стереозрение это пока однонаправленный процесс. По крайней мере в классическом понимании.
Сергей Мальцев писал(а):Еще есть соображение, что внутри области однородной закраски будет достаточно ровная поверхность, без резких выпадов, иначе бы скорее всего в силу освещения однородной закраски не было бы.
Про области однородной закраски согласен, кроме случая низкой яркости в этой области, потому как этом может означать, что там дырка и в ней чего угодно, потому как нет освещения.
По сути это тоже векторное поле, просто все вектора имеют координату X одного знака, а координату Y нулевую.
Не совсем понятно, можешь объяснить поподробнее?
Ну по сути такие вектора и будут смещениями отвечающими за правильные соответствия между фрагментами изображений на левом и правом изображении.
Сергей Мальцев писал(а):Для соосных камер, находящихся в одной горизонтальной плоскости, со скорректированным бочкообразным эффектом это в самом деле горизонтальная прямая.
В целом да (только не прямая, а луч), именно поэтому соот. смещение может быть задано вектором с нулевой Y-координатой и X-координатой фиксированного знака.
Сергей Мальцев писал(а):
Это функции по OpticalFlow, но скорее всего их можно раздраконить и загнать в них учет тех самых эпиполярных линий, если я правильно понял что это такое.
Посмотрю как будет время. Но мне, почему то казалось, что со стереозрением они работать не будут.
В исходном варианте не будут, потому что они рассчитаны на поиск более широкого класса векторных полей, а вот если влезть внутрь и добавить им в уравнения Y=0, X>0, то как раз и получим сужение рабочих методов optical-flow на нашу задачу стереозрения, должно все получиться.
Некрасиво, что под Win32 все сделано, причем только под одну среду разработки - Visual Studio. А в целом нужно разбирать
Я кстати ее и предпочитаю. Но тебе, вроде, Borland среда нравится. Так что надо будет и под ту, и под другую чтоб работало.
В любом случае предлагаю делать добавки к OpenCV, а не брать библиотеки чужие цельные, иначе лоскутное одеяло получится вместо нормальной системы. Но алгоритм посмотреть само собой не помешает.
Я думаю, надо бы в объектно-ориентированной модели писать? Ты как на это смотришь? Просто, в этом случае как то все более структурированнно получается.
Сергей Мальцев писал(а):Я думаю, надо бы в объектно-ориентированной модели писать? Ты как на это смотришь? Просто, в этом случае как то все более структурированнно получается.
Хм, а смысл? Лучше придерживаться стиля заданного в OpenCV по возможности. То есть по возможности обходится готовыми объектами и писать обработчики этих объектов в виде функций. Или писать функции получающие на входе одни объекты, а возвращающие другие. Это по сути есть некоторое отклонение от чистого ООП, ввиду наличия внешних функций, зато создавая объект "изображение" сразу прописывать миллион возможных фильтров к нему.
Сергей Мальцев писал(а):Я думаю, надо бы в объектно-ориентированной модели писать? Ты как на это смотришь? Просто, в этом случае как то все более структурированнно получается.
Хм, а смысл? Лучше придерживаться стиля заданного в OpenCV по возможности. То есть по возможности обходится готовыми объектами и писать обработчики этих объектов в виде функций. Или писать функции получающие на входе одни объекты, а возвращающие другие. Это по сути есть некоторое отклонение от чистого ООП, ввиду наличия внешних функций, зато создавая объект "изображение" сразу прописывать миллион возможных фильтров к нему.
Мне не очень нравится отсутвие инкапсуляции, если использовать только С код. Но в принципе для меня это не так важно. Так что можно и в стиле OpenCV.
2. http://sourceforge.net/projects/estereo EStereo is a computer vision C++ library for real-time disparity estimation. The library contains various functions for dense stereo matching from 2 or 3 rectified images and 3D scene reconstruction.
3. http://sourceforge.net/projects/kljh Stereovision and multivision library Takes multiple image, detects and tracks points of interest, determines camera parameters and makes a basic 3D reconstruction or build a panorama.
4. http://sourceforge.net/projects/mrhd Software for creating Depth Maps and DEMs from image pairs taken using a Stereo Camera Rig. Currently works on images from Parallel Cameras. Create your own depth maps and 3d terrain from any images, such as NASA Mars Rover Image Pairs.
5. http://sourceforge.net/projects/svfx Stereo vision for special effects: The aim of the project is to implement a stereo vision algorithm based on color segmentation and graph cuts. It will be possible to extend the code to multicamera scene reconstruction.
7. http://sourceforge.net/projects/rodney Rodney is an upper torso humanoid robot with stereo vision, speech recognition and a wide variety of body and head movements. This project is designed to be an open source repository for the software which comprises its control system.
8. http://sourceforge.net/projects/stevision Given a video feed consisting of a pair of stereo images to determine wat are the various objects in the scence and how far they are from the camera. This would ultimately be a visual navigation tool for robots.
9. http://sourceforge.net/projects/binocle The goal of this project is to develop a libray which implements functions related to stereovision and stereo-correlation. In other terms, whith two pictures of a same object taken from different angles, this library can generate a ZBuffer of the pictures.
Как будем делить? Если что - естерео я уже скачал
Я сейчас несколько неукладываюсь по времени. Есть такое предложение: на данный момент ты можешь смотреть начиная с начала списка. Я по мере возможностей буду смотреть с конца списка. При этом еще буду заниматься созданием сайта. Я там несколько ссылок просматривал, там нет исходников, так что можно будет их быстро откидывать. Пойдет такой вариант?
Сергей Мальцев писал(а):Я сейчас несколько неукладываюсь по времени. Есть такое предложение: на данный момент ты можешь смотреть начиная с начала списка. Я по мере возможностей буду смотреть с конца списка. При этом еще буду заниматься созданием сайта. Я там несколько ссылок просматривал, там нет исходников, так что можно будет их быстро откидывать. Пойдет такой вариант?
Будете в одного сайт делать?
Может темку создать и структуру там обсудить? Ибо одна голова хорошо, а две лучше
Сергей Мальцев писал(а):Мне не очень нравится отсутвие инкапсуляции, если использовать только С код. Но в принципе для меня это не так важно. Так что можно и в стиле OpenCV.
Разве в OpenCV нет объектов? По моему их там полно, просто некоторые вещи типа фильтров нет смысла заносить в объекты, как раз должна быть возможность их добавлять по мере необходимости не создавая без надобности такие тяжелые структуры, как объекты.
Сергей Мальцев писал(а):Я сейчас несколько неукладываюсь по времени. Есть такое предложение: на данный момент ты можешь смотреть начиная с начала списка. Я по мере возможностей буду смотреть с конца списка. При этом еще буду заниматься созданием сайта. Я там несколько ссылок просматривал, там нет исходников, так что можно будет их быстро откидывать. Пойдет такой вариант?
Будете в одного сайт делать?
Может темку создать и структуру там обсудить? Ибо одна голова хорошо, а две лучше
а что про мою идею(см.пред.пост) да и еще можно использовать эффект размытия изображения при движении для определения дальности, только датчики движения использовать придется....но вместе со всеми другими методами работать будет неплохо
lebaon писал(а):а что про мою идею(см.пред.пост) да и еще можно использовать эффект размытия изображения при движении для определения дальности, только датчики движения использовать придется....но вместе со всеми другими методами работать будет неплохо
Какие еще датчики движения? Вы про что? Зачем нам датчики, если мы сами в курсе едем мы или нет.
И как это использовать эффект размытия? Может просто предмет не в фокусе.
//А как обеспечить, чтобы обе камеры сделали снимок синхронно?
Думаю, специализированные камеры способны это сделать. Да и если скорости не большие это не должно быть особой проблемой. Но в целом понятно что может появится еще одно ограничение при использовании стереозрения. Но будем пытаться компенсировать эти проблемы с помощью motion-flow. На всякий случай, еще упомяну про использование фокусировки для определения расстояния.
//Motion-flow потенциально может накапливать информацию хоть в течение часа брождения вокруг объекта, а стереозрение обладает информацией только одномоментной с точки, откуда может принципиально быть не видно "чего там". Большие расстояния это в рамках человеческого зрения вроде порядка 1-2м.
Кстати говоря, пока не очень себе представляю, как должно работать motion-flow. Надо смотреть литературу. На счет стереозрения, мне казалось, что дальность, по крайней мере, на порядок больше, есть точные данные по этому параметру?
//Ок, оставим спорный вопрос, хотя тогда становится интересным - действительно ли при получении информации не используется старая информация? Ведь стереозрение это пока однонаправленный процесс. По крайней мере в классическом понимании.
Надо бы поразмышлять над этим, по идее можно значительно сокращать область поиска пар, при использовании предыдущей информации.
//Про области однородной закраски согласен, кроме случая низкой яркости в этой области, потому как этом может означать, что там дырка и в ней чего угодно, потому как нет освещения.
Да, ты прав. Но тогда это еще действительно для любых дырок, через которые видно однородный тон.