На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Востановление образа из двух проекций
    Имеется следующая задача:

    Если по простому:
    Две камеры сфотографировали одновременно некий обьект, в результате имеем 2-е картинки одного и того же объекта с разных сторон. Требуется построить объект в трех мерном пространстве, на основе имеющихся 2-х снимков(возможно добавление неких параметров, как известные, например угол между камерами и т.д.)


    Теперь чуть по подробнее:

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


    P.S. Желательно решить задачу, подразумевая перспективную проекцию.

    P.P.S. Если нет желания подумать, можно оставить ссылки на эту тему, буду вам очень признателен.
       Начинать, пожалуй, надо с простого...
       Сначала определиться с одной точкой. Пусть есть точка с координатами R={x,y,z}. И две ее "фотографии". Первая "фотография" это точка R1={x1,y1,z1} лежащая на первой плоскости, вторая фотография - точка R2={x2,y2,z2} лежащая на второй плоскости. По определению, прямая линия между R и R1 есть перпендикуляр к первой плоскости, а прямая линия между R и R2 - перпендикуляр ко второй плоскости. Также, по определению, известны плоскости и координаты R1 и R2, а координаты R - не известны.
       Ну вот все и просто, пишется уравнение перпендикуляра к первой плоскости проходящего через R1, тоже самое для перпендикуляра ко второй плоскости проходящего через R2. Точка пересечения этих двух прямых линий как раз и даст искомую точку R.
       Зная как находить точки можно и все остальное найти...
        Все это понятно, но вы как раз подабрались к тому на чем я застрял, ведь не даром же я упоминал о том, что располажения картинок на плоскостях неизвестно. Отсюда получается, что нужно узнать, во перых, как взаимосвязана локальная система координат (картинка) с плоскостью, в которой она лежит, во вторых преобразовать точку из лок. сист. коорд. в мировые (думаю из первого следует второе).

        Вот  на этом месте я и застрял:(
        Может будут какие идеи?

          Допустим есть две (три, четыре... и т.д.) фотографии ,
          желательно хорошего качества.

          Создается специальный графический viewer, который показывал бы эти фото.
          С его помощью можно отмечать мышью "идентичные" точки (скажем, если это фотографии головы человека, идентичными точками будут центры глаз,
          центр ушей и т.п.) Эти точки соединяются линиями так, чтобы получилось большое количество треугольников.

          Для примера возьмем треугольник центр лба - центр левого глаза - центр правого
          глаза. В абсолютных координатах объемного объекта (головы) стороны треугольника
          на разных фотографиях будут равны т.к. расстояние между глазами не зависит от
          того, к какой стороны снимают голову. Но на плоских фотографиях, которые у нас есть
          соотвестствующие стороны в общем случае не будут равны. Зная это расхождение
          в длинах треугольников можно оценить форму объекта, и соотвественно обработать
          изображение внутри каждого треугольника (треугольник считать плоскостью).

          Если есть еще идеи - пишите -leo@mail.ru
          Туда же можно скинуть и исходники проги, может смогу помочь...

            Цитата R_Ally, 15.11.02, 02:28:56

            Создается специальный графический viewer, который показывал бы эти фото.
            С его помощью можно отмечать мышью "идентичные" точки ...

            А иначе никак... Ну разьве что на самом объекте до фотографирования разместить отметки (разноцветные лампочки), так чтоб программа сама смогла потом эти отметки на фотке распознать... Скажем лазером объект подсвечивать в момент фотографирования, ну в смысле, лазерным лучем нарисовать (пусть треугольную) решетку. Эта решетка будет искривленной в соответствии с искривленностью фотографируемой поверхности. Фотография будет представлять собой черный лист со светлыми тонкими линиями - искривленной решеткой... Узлы решетки, думаю, легко распознать.
              Цитата S.Yu.Gubanov, 15.11.02, 10:55:51

              ...Скажем лазером объект подсвечивать...


              Интересная идея...
                А веть он правдо интересные вещи говорит!
                Но нужно накладавать треугольник на каждый полигон.
                Предлагаю делать сетку точек (по три одного цвета).
                При обработке и фотаграфиях большого качества можно вырезать точки (даже видно не будет);
                Но камеры нужно мин. 2.
                    даже в школе на уроках черчения восстановаливали деталь по ТРЕМ проекциям.
                    smile.gif
                      Деталь есть совокупность простых примитивов-ребер. Не сложнее кривых второго-третьего порядка smile.gif
                        Нужно фотографии разбить на линии пометить общие точки общими
                        остальное все просто
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0.1766 ]   [ 15 queries used ]   [ Generated: 6.10.26, 00:50 GMT ]