2015-06-04 5 views
2

У меня есть два пространственных изображения, но у меня нет входных данных для калибровки камеры. Как я могу разработать 3D-модель, просто прочитав оба изображения, используя imread? Также я попытался выполнить этот код, но для этого нужны параметры камеры.3D-реконструкция только с стереопарой изображений и без откалиброванной камеры

http://in.mathworks.com/discovery/stereo-vision.html

Я также пытался придумать разреженное моделирование 3D, но он не работает.

http://in.mathworks.com/help/vision/examples/sparse-3-d-reconstruction-from-two-views.html

Могу ли я использовать гауссовские фильтры или что-то подобное для входных данных изображения из стереопары, а затем сопоставить их для оценки отдела. Если я получу глубину, я смогу сделать 3D-модель.

Пожалуйста, подскажите, что можно сделать быстро. У меня заканчивается время.

ответ

0

Во-первых, вы не говорите точно, что вам нужно с точки зрения 3D-модели. Вам нужна евклидова модель (т. Е. Знать длины всех сторон?) Или она только масштабируется (метрическая реконструкция)?

Во-вторых, что вы знаете об изображениях? Были ли они взяты с одной камеры в разные моменты времени? Разные камеры? Как устроены камеры? Существуют специальные случаи, которые могут облегчить восстановление 3D, но в общем случае вы не сможете получить реконструкцию метрики без калибровки камеры.

Сказав, что вы могли бы попробовать чтение this paper по калибровке с исчезающими точками или this one

Это возможно, если вы знаете тип камер, что кто-то получил параметры калибровки, которые были бы достаточно хорошо - защита от качества камер.

Геометрия позади этого не является тривиальной, и нам нужно знать больше, прежде чем рекомендовать решение.

+0

Хорошо, поэтому у меня есть этот проект, где я должен брать данные фрактальной съемки. Мы используем сканирующий электронный микроскоп (SEM) для изучения поверхности трещины и создания изображений с помощью программного обеспечения для сканирования изображений. У меня есть два вида одной и той же поверхности. Один взят на +4 градуса вращения и один на -4 градуса. Меня попросили сгенерировать трехмерную модель поверхности трещины. – cybrog

+0

Не думаю, что я могу получить данные калибровки из лабораторий SEM. Таким образом, оба изображения были взяты из одной камеры, а наклонные изображения были сделаны только путем наклона положения пластины образца. Мне нужна определенная метрическая реконструкция. Не могли бы вы рассказать мне, какие случаи легко восстановить в 3D, я мог бы попытаться упорядочить мои изображения. – cybrog

+0

Если у вас есть две камеры, которые имеют оптические оси, которые абсолютно параллельны (или в вашем случае, если вы перемещаете объект в поперечном направлении, вам не нужно будет восстанавливать эпиполярную геометрию и исправлять изображения, чтобы вы могли перейти непосредственно к созданию карты несоответствий из изображений. Проблема в том, что даже с этими данными вы не можете точно воссоздать 3D-модель, не вызывая внутренние параметры камеры. Я понятия не имею, как это будет выглядеть для SEM (или даже если предположение о пробке будет иметь место в первом место!) –

0

Проблема в том, что без какой-либо калибровки все, что вы можете получить, это реконструкция до неизвестного проективного преобразования. Это означает, что вы не получите абсолютные размеры объектов, и ваши углы будут неправильными. Лучше всего сделать калибровку ваших камер.

Если вы не можете этого сделать, вы можете получить часть пути, используя функции estimateUncalibratedRectification и disparity. См. Это example. Если у вас есть несоответствие, вам придется составлять поддельные параметры камеры, такие как фокусное расстояние, оптический центр и расстояние между камерами, и писать свой собственный код для реконструкции. Опять же, это будет реконструктивная реконструкция. См. «Обучение OpenCV» Брэдски и Каэлера.

 Смежные вопросы

  • Нет связанных вопросов^_^