Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2015, 11:39   #1
Lasor
Пользователь
 
Регистрация: 05.12.2012
Сообщений: 67
Вопрос Создание панорамы (Qt)

Доброго времени.
Появилась интересная задачка - наложить несколько фотографий друг на друга так, чтобы получилась панорама, разумеется, никакой ручной корректировки не используя. Кто-нибудь занимался подобным?
Я попробовал работать с QPainter::setCompositionMode. Всё прекрасно накладывает, только не могу понять, как определять области, которые одинаковые на обоих изображениях?
Далее думал на тему использования libpano. Сейчас пытаюсь её собрать.
Lasor вне форума Ответить с цитированием
Старый 19.01.2015, 13:14   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Я не понял что ты пытаешься сделать, поясни
rrrFer вне форума Ответить с цитированием
Старый 19.01.2015, 13:27   #3
Lasor
Пользователь
 
Регистрация: 05.12.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Я не понял что ты пытаешься сделать, поясни
Я пытаюсь сделать "панораму" из двух и более изображений. Только ручками хочу написать программку для этого.
Lasor вне форума Ответить с цитированием
Старый 19.01.2015, 20:22   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Я пытаюсь сделать "панораму" из двух и более изображений. Только ручками хочу написать программку для этого.
Пример где?
Ты хочешь соединить несколько изображений или наложить их друг на друга (с прозрачностью)? или еще что-то?
Зачем тебе определять одинаковые области? Области совсем одинаковые или все же отличаются?
rrrFer вне форума Ответить с цитированием
Старый 20.01.2015, 11:11   #5
Lasor
Пользователь
 
Регистрация: 05.12.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Пример где?
Ты хочешь соединить несколько изображений или наложить их друг на друга (с прозрачностью)? или еще что-то?
Зачем тебе определять одинаковые области? Области совсем одинаковые или все же отличаются?
Пример: взял в руки камеру и отснял несколько кадров, перемещая камеру рандомно, но так, чтобы один объект был на всех фото. На каких-то он будет, скажем, в центре, а на других - в углу. Можно ещё снимать так, чтобы хотя бы на каждом последующем кадре был фрагмент предыдущего кадра.
Далее берёшь эти изображения и накладываешь друг на друга с "прозрачностью" накладываемого изображения.
Дело в том, что 100% одинаковые области получиться не могут (освещение, резкость и т.п.). Поэтому, не очень себе представляю как совмещать.
Lasor вне форума Ответить с цитированием
Старый 20.01.2015, 14:13   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

http://www.cescg.org/CESCG-2006/pape...tiak-Piotr.pdf
http://habrahabr.ru/post/106302/
Прочтите, может быть что-нибудь полезное найдете.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 20.01.2015, 14:42   #7
Lasor
Пользователь
 
Регистрация: 05.12.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
http://www.cescg.org/CESCG-2006/pape...tiak-Piotr.pdf
http://habrahabr.ru/post/106302/
Прочтите, может быть что-нибудь полезное найдете.
Спасибо за полезную информацию.
Сейчас получил libpano в Ubuntu. Пытаюсь разобраться, как оно работает. Кто-нибудь уже с ней работал?
Lasor вне форума Ответить с цитированием
Старый 20.01.2015, 18:11   #8
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Мне кажется по статье с хабра можно разобраться и запилить то, что тебе надо.

Не пойму я только зачем тебе QPainter - он позволяет что-то нарисовать, но тебе надо анализировать изображения. Изображения - это QImage, QPicture и QPixmap. Из них QPicture заточен под отображение картинки (тоже не подходит), а 2 других позволяют обрабатывать отдельные пиксели, но насколько я понимаю QImage оптимизирован специально для такой работы.

Короче берешь QImage, читаешь статью с хабра и пытаешься искать похожие области. Потом видимо обрезаешь часть картинки, часть делаешь прозрачной и накладываешь прозрачными частями. Ну мне все это видится так, а может быть я понял твои планы неверно.
rrrFer вне форума Ответить с цитированием
Старый 23.01.2015, 11:48   #9
Lasor
Пользователь
 
Регистрация: 05.12.2012
Сообщений: 67
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Мне кажется по статье с хабра можно разобраться и запилить то, что тебе надо.

Не пойму я только зачем тебе QPainter - он позволяет что-то нарисовать, но тебе надо анализировать изображения. Изображения - это QImage, QPicture и QPixmap. Из них QPicture заточен под отображение картинки (тоже не подходит), а 2 других позволяют обрабатывать отдельные пиксели, но насколько я понимаю QImage оптимизирован специально для такой работы.

Короче берешь QImage, читаешь статью с хабра и пытаешься искать похожие области. Потом видимо обрезаешь часть картинки, часть делаешь прозрачной и накладываешь прозрачными частями. Ну мне все это видится так, а может быть я понял твои планы неверно.
Дело в том, что libpano уже умеет всё это делать. На её основе написан hugin, который сносно клеет панорамы.
Именно поэтому я хочу использовать в проекте libpano в качестве инструмента. После сборки и подключения к проекту я до сих пор не могу загрузить изображение для обработки. Ругается на
Код:
int panoImageRead(Image * im, fullPath * sfile);
Подключаю так
Код:
#include <pano13/panorama.h>
Что я делаю не так?
Lasor вне форума Ответить с цитированием
Старый 24.01.2015, 18:13   #10
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Ругается на
как ругается?
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просмотр сферической панорамы в delphi Sharu Общие вопросы Delphi 2 24.10.2011 12:33
Создание внутреннего и внешнего серверов. Создание серверов автоматизации. Ann_Sh Помощь студентам 3 09.10.2011 15:53
Яндекс панорамы - Питер - Смольный проспект Alar Свободное общение 7 20.04.2011 04:08
3D панорамы на Java. Возможно ли? Web-Gangsta Общие вопросы по Java, Java SE, Kotlin 2 11.06.2009 08:15