3D-сканер из молока и смартфона

от автора

На сайте Instructables опубликована инструкция, как собрать самый простой и дешёвый 3D-сканер из подручных средств. Автор проекта GotMesh подсмотрел идею использовать молоко у коллег из проекта Milkscanner, которые применили его для создания сложных 3D-моделей ещё до того, как 3D-печать пошла в массы. Новый способ намного проще, автоматизирован с помощью скрипта и OpenCV, а также оптимизирован конкретно для 3D-печати отсканированного предмета.

Суть метода заключается в том, что молоко медленно вытекает из ёмкости, проявляя контуры объекта.

В контейнерах просверливается небольшое отверстие для перетекания молока, а в в верхнем контейнере нужно сделать удерживающее устройство для смартфона. Процесс снимается на камеру смартфона/фотоаппарата/etc., в режиме time-lapse, то есть покадровой съёмки.

Затем сделанные фотографии копируются в отдельную папку на компьютере. Питоновский скрипт обрабатывает фотографии, используя библиотеку OpenCV для преобразования набора фотографий в набор вершин — файл в формате .xyz. Репозиторий со скриптом здесь.

Чёрный экран с белыми контурами на экране отображает работу детектора границ Канни — функция Canny в OpenCV.

Созданный файл конвертируется в полноценную 3D-модель .stl в программе MeshLab. Перед этим можно очистить модель от ненужных артефактов, удалив лишние вершины (Edit —> Select Vertexes).

И всё. Действительно, проще некуда. Если жалко денег на 5 литров молока, то можно взять любую другую непрозрачную жидкость. Главное, чтобы она отличалась по цвету от сканируемого предмета. Но автор говорит, что перепробовал много жидкостей, в том числе разбавленную краску, соду и пищевые красители, и понял, что молоко подходит лучше всего.

Стоимость такого сканера равна стоимости двух пластиковых контейнеров, то есть менее 12 долларов. Ну и сами контейнеры пригодны для многоразового использования.

ссылка на оригинал статьи https://geektimes.ru/post/274711/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *