Оглавление:
- Шаг 1. Введение
- Шаг 2: Программное обеспечение
- Шаг 3: Настройка оборудования
- Шаг 4: экспериментирование со сканером
- Шаг 5: некоторые другие результаты сканирования
- Шаг 6: графический интерфейс 3D-сканера
Видео: Сделай сам 3D-сканер на основе структурированного света и стереозрения на языке Python: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Этот 3D-сканер был изготовлен с использованием недорогих обычных предметов, таких как видеопроектор и веб-камеры. Трехмерный сканер со структурированным светом - это устройство трехмерного сканирования для измерения трехмерной формы объекта с использованием проецируемых световых узоров и системы камеры. Программное обеспечение было разработано на основе структурированного света и стереозрения на языке Python.
Проецирование узкой полосы света на поверхность трехмерной формы создает линию освещения, которая кажется искаженной с других точек зрения, чем у проектора, и может использоваться для точной геометрической реконструкции формы поверхности. Горизонтальные и вертикальные световые полосы проецируются на поверхность объекта и затем фиксируются двумя веб-камерами.
Шаг 1. Введение
Устройства для автоматического получения 3D-изображений (часто называемые 3D-сканерами) позволяют создавать высокоточные модели реальных 3D-объектов экономичным и экономичным способом. Мы опробовали эту технологию при сканировании игрушки, чтобы доказать ее работоспособность. Конкретные потребности: точность от среднего до высокого, простота использования, доступная стоимость сканирующего устройства, саморегистрируемый сбор данных о форме и цвете и, наконец, эксплуатационная безопасность как для оператора, так и для отсканированных объектов. В соответствии с этими требованиями мы разработали недорогой 3D-сканер на основе структурированного света, в котором используется универсальный подход с использованием цветных полос. Мы представляем архитектуру сканера, принятые программные технологии и первые результаты его использования в проекте по приобретению игрушки в 3D.
В конструкции нашего недорогого сканера мы решили реализовать блок излучателя с помощью видеопроектора. Причина заключалась в гибкости этого устройства (которое позволяет экспериментировать с любым типом светового рисунка) и его широкой доступности. Датчик может быть настраиваемым устройством, стандартной цифровой фотокамерой или веб-камерой. он должен поддерживать высококачественный захват цвета (т.е. получение высокого динамического диапазона) и, возможно, с высоким разрешением.
Шаг 2: Программное обеспечение
Язык Python использовался для программирования по трем причинам: во-первых, его легко изучить и реализовать, во-вторых, мы можем использовать OPENCV для подпрограмм, связанных с изображениями, и в-третьих, он переносится между различными операционными системами, поэтому вы можете использовать эту программу в Windows, MAC и Linux. Вы также можете настроить программное обеспечение для использования с любым типом камеры (веб-камеры, зеркальные или промышленные камеры) или проектора с собственным разрешением 1024X768. Лучше использовать камеры с разрешением более чем в два раза. Я лично тестировал производительность в трех разных конфигурациях: первая была с двумя параллельными веб-камерами Microsoft, кинотеатром и небольшим портативным проектором, вторая была с двумя веб-камерами lifecam cinema, которые повернуты на 15 градусов друг к другу, и проектором Infocus, последняя конфигурация была с веб-камерами logitech. и проектор Infocus. Чтобы запечатлеть облако точек на поверхности объекта, нужно выполнить пять шагов:
1. Проецирование серых узоров и захват изображений с двух камер "SL3DS1.projcapt.py"
2. Обработка 42 изображений каждой камеры и код точек захвата "SL3DS2.procimages.py"
2. Регулировка порога выбора маскировки для обрабатываемых областей "SL3DS3.adjustthresh.py"
4. Найдите и сохраните похожие точки в каждой камере "SL3DS4.calcpxpy.py"
5 Рассчитайте координаты X, Y и Z облака точек "SL3DS5.calcxyz.py"
На выходе получается файл PLY с информацией о координатах и цвете точек на поверхности объекта. Вы можете открывать файлы PLY с помощью программного обеспечения САПР, такого как продукты Autodesk, или программного обеспечения с открытым исходным кодом, такого как Meshlab.
www.autodesk.com/products/personal-design-a…
Для запуска этих программ Python должны быть установлены Python 2.7, модуль OPENCV и NUMPY. Я также разработал графический интерфейс для этого программного обеспечения в TKINTER, который вы можете найти на шестом шаге с двумя примерами данных. Вы можете найти дополнительную информацию по этому вопросу на следующих веб-сайтах:
docs.opencv.org/modules/calib3d/doc/camera_…
docs.opencv.org/modules/highgui/doc/reading…
www.3dunderworld.org/software/
arxiv.org/pdf/1406.6595v1.pdf
mesh.brown.edu/byo3d/index.html
www.opticsinfobase.org/aop/fulltext.cfm?uri…
hera.inf-cv.uni-jena.de:6680/pdf/Brauer-Bur…
Шаг 3: Настройка оборудования
Аппаратное обеспечение состоит из:
1. Две веб-камеры (Logitech C920C)
2. Проектор Infocus LP330.
3. Подставка для камеры и проектора (изготовлена из акриловых пластин толщиной 3 мм и древесины HDF толщиной 6 мм, вырезанной с помощью лазерного резака).
Две камеры и проектор должны быть подключены к компьютеру с двумя видеовыходами, как ноутбук, а экран проектора должен быть настроен как расширение рабочего стола главного окна. Здесь вы можете увидеть изображения фотоаппаратов, проектора и подставки. Готовый для резки файл чертежа прилагается в формате SVG.
Проектор представляет собой проектор Infocus LP330 (исходное разрешение 1024X768) со следующими характеристиками: Яркость: 650 люмен Цветовой световой поток: ** Контрастность (полное включение / выключение): 400: 1 Автоматическая диафрагма: нет собственного разрешения: 1024x768 Соотношение сторон: 4: 3 (XGA) Видеорежимы: ** Режимы данных: MAX 1024x768 Максимальная мощность: 200 Вт Напряжение: 100–240 В Размер (см) (ВxШxГ): 6 x 22 x 25 Вес: 2,2 кг Срок службы лампы (при полной мощности): 1000 часов Тип лампы: UHPLamp Мощность: 120 Вт Количество лампы: 1 Тип дисплея: 2 см DLP (1) Стандартный зум-объектив: 1,25: 1 Фокус: Ручное расстояние проецирования (м): 1,5 - 30,5 Размер изображения (см): 76 - 1971
Этот видеопроектор используется для проецирования структурированных световых узоров на сканируемый объект. Структурированный узор состоит из вертикальных и горизонтальных полос белого света, которые сохраняются в файле данных, и веб-камеры фиксируют эти искаженные полосы.
Предпочтительно использовать те камеры, которые управляются программно, потому что вам нужно настроить фокус, яркость, разрешение и качество изображения. Можно использовать DSLR-камеры с SDK, предоставляемыми каждой торговой маркой.
Сборка и испытания проводились в Copenhagen Fablab при его поддержке.
Шаг 4: экспериментирование со сканером
Для тестирования системы использовалась игрушка-рыбка, и вы можете увидеть захваченное изображение. Весь захваченный файл, а также облако точек вывода включены в прикрепленный файл, вы можете открыть файл облака точек PLY с помощью Meshlab:
meshlab.sourceforge.net/
Шаг 5: некоторые другие результаты сканирования
Здесь вы можете увидеть сканы человеческого лица и 3d сканы стены. Всегда есть некоторые выбросы из-за отражений или неточных результатов изображения.
Шаг 6: графический интерфейс 3D-сканера
Для тестирования программного обеспечения 3D-сканирования на этом этапе я добавляю два набора данных: один - сканирование рыбы, а другой - просто плоская стена, чтобы увидеть его точность. Откройте файлы ZIP и запустите SL3DGUI.py. Для установки проверьте шаг 2. Отправьте сообщение на мой почтовый ящик для всех исходных кодов.
Для использования части 3D-сканирования вам необходимо установить две камеры и проектор, а для других частей просто нажмите кнопку. Для тестирования данных выборки сначала щелкните процесс, затем порог, стереопары и, наконец, облако точек. Установите Meshlab, чтобы увидеть облако точек.
meshlab.sourceforge.net/
Рекомендуемые:
Сделай сам - сделай USB мини-акустическую систему с PAM8403 и картоном - Золотой винт: 5 шагов
Сделай сам - сделай USB мини-акустическую систему с PAM8403 и картоном | Золотой винт: Сегодня я покажу вам, как сделать мини-акустическую систему USB с модулем усилителя PAM8403 и картоном. Это очень просто из дешевых материалов
Макрообъективы «сделай сам» с автофокусом (отличается от всех других макрообъективов «сделай сам»): 4 шага (с изображениями)
Макрообъективы «сделай сам» с автофокусом (отличается от всех других макрообъективов «сделай сам»): я видел много людей, делающих макрообъективы со стандартным комплектным объективом (обычно 18-55 мм). Большинство из них представляют собой объектив, который просто приклеивают к камере назад или снимают передний элемент. У обоих вариантов есть свои недостатки. Для крепления объектива
Генератор музыки на основе погоды (генератор MIDI на основе ESP8266): 4 шага (с изображениями)
Музыкальный генератор на основе погоды (Midi-генератор на основе ESP8266): Привет, сегодня я объясню, как сделать свой собственный небольшой музыкальный генератор на основе погоды. Он основан на ESP8266, который похож на Arduino, и он реагирует на температуру, дождь. и яркость света. Не ожидайте, что он сделает целые песни или аккордовые программы
Сделай сам «ROG Base Meter Usage Meter» с использованием Arduino и Python: 5 шагов (с изображениями)
Сделай сам «измеритель использования ПК ROG Base» с использованием Arduino и Python: ************************************ + Прежде всего, эти инструкции были написаны не носителем английского языка … Не профессором английского языка, поэтому, пожалуйста, сообщите о любой грамматической ошибке, прежде чем смеяться надо мной .:p + И, пожалуйста, не подражайте
Переключатель света с дистанционным управлением по Bluetooth - дооснащение. Выключатель света по-прежнему работает, без лишних писем .: 9 шагов (с изображениями)
Переключатель света с дистанционным управлением по Bluetooth - дооснащение. Выключатель света по-прежнему работает, без дополнительных писем .: Обновление от 25 ноября 2017 г. - Версия этого проекта с высокой мощностью, которая может управлять киловаттами нагрузки, см. В разделе «Модернизация управления BLE для работы с мощными нагрузками - дополнительная проводка не требуется» Обновление от 15 ноября 2017 г. - Некоторые платы / стеки программного обеспечения BLE доставляют