Создадим "народный" 3D сканер?
Модератор: Dj_smart
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Создадим "народный" 3D сканер?
Предлагаю совместными усилиями разработать объемный сканер.
Собственно механику я беру на себя и обязуюсь безвозмездно выложить все материалы
вплоть до эскизов, фотонграфий и всего что у меня будет.
Но поскольку не силен в программировании - требуется ваша помощь, причем если ктото сможет
создать вполне конкурентоспособную коммерческую программу, мне достаточно будет только
ограниченной демоверсии, "на попробовать".
Итак в чем замысел? Идея такая же как и у других сканеров, т.е. освещение плоскорельефного или объемного
объекта плоским лучом лазера или затемнение "нитью тени". Однако в отдличие например от того же Davida,
в этой идее не нужна задняя сетка или специальный фон.
Посмотрите на рисунки.
Объект освещается лазером строго перпендикулярно, камера установлена под
неким углом, так, чтобы из точки наблюдения был виден освещаемый рельеф. Линия света, проходящая по краям стола,
на который положен объекти или через центр подставки и нити подвеса являться нулем высоты и от нее можно
вести отсчет высоты рельефа.
Грубо говоря, задача сводиться к тому, чтобы сняв кадр изображения выделить центр линии рельефа и определить
расстояние точек рельефа от нулевой линии, т.е. построить координаты высоты рельефа.
После этого программа должна дать команду (шаг, импульс) на выход LPT или CОM порта в результате чего объект
поворачивается или, в случае, если лежит на столе - перемещается портал со всем закрепленным на нем "махараем"
на один шаг. Делается следующий стопкадр, преобразуется рельеф и так далее.
Полученный массив координат и будет файлом для дальнейшей обработки. В каком виде его удобнее делать можно обсудить.
Вот объяснил как смог...
Что касается демоверсии, то думаю можно ее ограничить пределом в 200 (400) шагов, чтобы будущий владелец
лицензионной версии смог опробовать сканер на полный обророт объекта в упрощенном варианте.
Конечно, поднутрения сосканировать в этой версии невозможно, да и не со всеми объектами может
быть получен хороший резултат, но тем не менее думаю, что многие будут рады и такому варианту.
Я готов приступить к практической реализации, для опытов имею 5-ти милливатный лазер с плоским лучом
и 8-ми мегапиксельную вебкамеру LogiTech С510HD. Станок и вращающийся столик тоже есть.
Готов обсудить нюансы конструкции.
Итак, программисты - отзовитесь!
Собственно механику я беру на себя и обязуюсь безвозмездно выложить все материалы
вплоть до эскизов, фотонграфий и всего что у меня будет.
Но поскольку не силен в программировании - требуется ваша помощь, причем если ктото сможет
создать вполне конкурентоспособную коммерческую программу, мне достаточно будет только
ограниченной демоверсии, "на попробовать".
Итак в чем замысел? Идея такая же как и у других сканеров, т.е. освещение плоскорельефного или объемного
объекта плоским лучом лазера или затемнение "нитью тени". Однако в отдличие например от того же Davida,
в этой идее не нужна задняя сетка или специальный фон.
Посмотрите на рисунки.
Объект освещается лазером строго перпендикулярно, камера установлена под
неким углом, так, чтобы из точки наблюдения был виден освещаемый рельеф. Линия света, проходящая по краям стола,
на который положен объекти или через центр подставки и нити подвеса являться нулем высоты и от нее можно
вести отсчет высоты рельефа.
Грубо говоря, задача сводиться к тому, чтобы сняв кадр изображения выделить центр линии рельефа и определить
расстояние точек рельефа от нулевой линии, т.е. построить координаты высоты рельефа.
После этого программа должна дать команду (шаг, импульс) на выход LPT или CОM порта в результате чего объект
поворачивается или, в случае, если лежит на столе - перемещается портал со всем закрепленным на нем "махараем"
на один шаг. Делается следующий стопкадр, преобразуется рельеф и так далее.
Полученный массив координат и будет файлом для дальнейшей обработки. В каком виде его удобнее делать можно обсудить.
Вот объяснил как смог...
Что касается демоверсии, то думаю можно ее ограничить пределом в 200 (400) шагов, чтобы будущий владелец
лицензионной версии смог опробовать сканер на полный обророт объекта в упрощенном варианте.
Конечно, поднутрения сосканировать в этой версии невозможно, да и не со всеми объектами может
быть получен хороший резултат, но тем не менее думаю, что многие будут рады и такому варианту.
Я готов приступить к практической реализации, для опытов имею 5-ти милливатный лазер с плоским лучом
и 8-ми мегапиксельную вебкамеру LogiTech С510HD. Станок и вращающийся столик тоже есть.
Готов обсудить нюансы конструкции.
Итак, программисты - отзовитесь!
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Не думаю что будет дешевле и быстрее, придется использовать растровое сканирование, т.е. перемещать дальномер на каждую точку механическим способом.
Это конечно быстрее, чем фрезеровать каждую точку, но все равно очень долго и будет зависеть от скорости работы станка.
Веб камера обеспечивает вывод строк 30 раз в секунду, если использовать для вращения шаговый двигатель, то 30 шагов в секунду он может сдалать даже с v r i -c n c контроллером. Если просто на валу шагового движка закрепить объект и вращать его в полушаговом режиме, то на скнирование объемной фигуры потребуется всего 13,33 секунды. Точность сканирования объекта диаметром 50 мм посаженого на вал шагового движка составит 0,4 мм.
Это конечно быстрее, чем фрезеровать каждую точку, но все равно очень долго и будет зависеть от скорости работы станка.
Веб камера обеспечивает вывод строк 30 раз в секунду, если использовать для вращения шаговый двигатель, то 30 шагов в секунду он может сдалать даже с v r i -c n c контроллером. Если просто на валу шагового движка закрепить объект и вращать его в полушаговом режиме, то на скнирование объемной фигуры потребуется всего 13,33 секунды. Точность сканирования объекта диаметром 50 мм посаженого на вал шагового движка составит 0,4 мм.
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
резон.
для изготовления лазера с плоским пучком можно использовать цилиндрические линзы с объективов для советских кинопроекторов. там был объектив для звуковой дорожки. в нем 3 хорошие цилиндрические линзы. использовал с обычной указкой. можно на разборке найти с китайских электроинструментов (лобзиков и пр).
для изготовления лазера с плоским пучком можно использовать цилиндрические линзы с объективов для советских кинопроекторов. там был объектив для звуковой дорожки. в нем 3 хорошие цилиндрические линзы. использовал с обычной указкой. можно на разборке найти с китайских электроинструментов (лобзиков и пр).
Вот что-то подобное http://wiki.makerbot.com/3d-scanner
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Так это не народный, это ИНОродный
В апрельском журнале "Популярная механика"
http://www.netbook.perm.ru/pm.html
за этот год есть интересная статья "Кино из полосок" и в этом же журнале вложена пластинка с зачерненными полосками. Если приложить эту пластинку к непонятному рисунку на странице, то проявляется "зашифрованное" изображение, двигая пластинку можно получить анимацию.
А если осветить объект через эту пластинку, то можно получить сразу кадр с множеством рельефов, типа такого:
И еще одно применение "полосатого фильтра", правда не по теме. Если расположить пластинку на ЖК мониторе, и специальным образом подготовить фотографию какого либо объекта, то при наблюдении фотографии через эту пластинку сразу видим изображение в 3D формате. Подобный принцип использован в 3D Nintendo, только там фильтр имеет шаг "сетки" равный размеру пиксела.
http://www.youtube.com/watch?v=UPPCvVmx5Ho
В апрельском журнале "Популярная механика"
http://www.netbook.perm.ru/pm.html
за этот год есть интересная статья "Кино из полосок" и в этом же журнале вложена пластинка с зачерненными полосками. Если приложить эту пластинку к непонятному рисунку на странице, то проявляется "зашифрованное" изображение, двигая пластинку можно получить анимацию.
А если осветить объект через эту пластинку, то можно получить сразу кадр с множеством рельефов, типа такого:
И еще одно применение "полосатого фильтра", правда не по теме. Если расположить пластинку на ЖК мониторе, и специальным образом подготовить фотографию какого либо объекта, то при наблюдении фотографии через эту пластинку сразу видим изображение в 3D формате. Подобный принцип использован в 3D Nintendo, только там фильтр имеет шаг "сетки" равный размеру пиксела.
http://www.youtube.com/watch?v=UPPCvVmx5Ho
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Для давида использовал обычную стеклянную трубку (похожа на пипетку, но один конец запаян - такая уж нашлась запаянный конец не используется) и лазерную укзку. Чтобы получить тонкую линию пришлось подрегулировать указку. Первые опыты показали довольно не плохой результат.logic777 писал(а):резон.
для изготовления лазера с плоским пучком можно использовать цилиндрические линзы с объективов для советских кинопроекторов. там был объектив для звуковой дорожки. в нем 3 хорошие цилиндрические линзы. использовал с обычной указкой. можно на разборке найти с китайских электроинструментов (лобзиков и пр).
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Конечно можно, в выходные сделаю и видео.ChiS писал(а):Trudogolik, а можно сделать видео или (и) пару фотокадров с максимальным разрешением веб камеры, как лазер "отбивает" контур объекта. В кадре должна быть "нулевая высота"
В каком формате нужно?
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Trudogolik, в любом, лишь бы кодаки были. Чем меньше сжат/пережат, тем лучше. Под рукой нет лазера отбивающего линию. В принципе дал наводку студентам-программистам и пообещал хороший бонус за написанную программу, но у них сейчас близится сессия, а у меня самого начались заочники ровно на месяц. Чуток бы раньше.
Что то подобное я начинал программировать на VB, но забросил.
Алгоритм пробовал такой:
1. Камера снимает кадр с лучом.
2. Второй снимок без луча.
3. Вычитаем из первого кадра второй и получаем кривую рельефа.
4. Вот здесь началась у меня засада, дело в том что кривая по "толщине" засвечивала несколько пикселей. Нужно было как то лишние отфильтровать. По цвету не получилось, по яркости?!
Алгоритм пробовал такой:
1. Камера снимает кадр с лучом.
2. Второй снимок без луча.
3. Вычитаем из первого кадра второй и получаем кривую рельефа.
4. Вот здесь началась у меня засада, дело в том что кривая по "толщине" засвечивала несколько пикселей. Нужно было как то лишние отфильтровать. По цвету не получилось, по яркости?!
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Не все сразу Идей много, но времени на их даже проверку, а не то что реализацию, у меня тоже не хватает.ChiS писал(а): Чуток бы раньше.
Надеюсь не последний день живем, что нибудь успеем.
У кого есть пара светодиодов, дающих тонкую линию, можете реализовать уже проверенную идею, маркер-указатель точки обработки.
Все очень просто, два светодиода крепяться по бокам от шпинделя, под углом примерно 90 градусов относительно оси шпинделя и светят под фрезу. Линия обоих светодиодов должна проходить строго по оси фрезы, вертикально.
Тогда как бы вы ни поднимали и не опускали ось Z, перекрестие лучей всегда будет находиться строго под фрезой.
Последний раз редактировалось Trudogolik 27 апр 2011, 16:37, всего редактировалось 1 раз.
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Так будеть всегда, наверное нужно поставить порог яркости и если выше этого порога подсвечивается несколько пикселей, выделить пиксель средины засвеченного участка.ATM67 писал(а):Что то подобное я начинал программировать на VB, но забросил.
4. Вот здесь началась у меня засада, дело в том что кривая по "толщине" засвечивала несколько пикселей. Нужно было как то лишние отфильтровать. По цвету не получилось, по яркости?!
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
А при любом фильтре, если ты упрешся в четное количество засвеченных пикселов, вынужден будешь выбирать или правый или левый или верхний или нижний, т.е разрешающая способность(точность) в любом случае не будет лучше чем размер одного пиксела.ATM67 писал(а): Такой метод пробовал, если их не четное количество получается "красиво", а вот с четным... или верхний или нижний?, не "красиво".
Надо придумать комплексный фильтр, чтоб по нескольким параметрам.
Оттого я и взял камеру с разрешением 1280x720, чтоб точность была повыше, 640х480 уже не катит
Хотя в принципе на заготовке размером со стандартный лист 640 строк - это уже хорошо, точность получается лучше 0,5 мм, обрабатывать тоже такой же фрезой придется.
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Я тоже об этом думал,Оттого я и взял камеру с разрешением 1280x720, чтоб точность была повыше, 640х480 уже не катит
Эта кривая почти траектория движения инструмента по "Y" и "Z".3. Вычитаем из первого кадра второй и получаем кривую рельефа.
И чтобы не сильно загружаться математическими расчетами, хотел жестко привязать пиксель с физическим движением инструмента. Например расстояние между соседними пикселями равна 0,5мм для станка или 1мм. То есть меняя этот параметр можно изменять маштаб.
Естественно Истинные программисты, не то что я любитель, смогут решить эти проблемы корректнее или направить на путь истинный.
-
- Смотрящий
- Сообщения: 7565
- Зарегистрирован: 28 авг 2009, 00:00
- Имя: Юрий
- Откуда: Украина. Межевая.
Trudogolik, спасибо за идею:).Линия обоих светодиодов должна проходить строго по оси фрезы, вертикально.
Тогда как бы вы ни поднимали и не опускали ось Z, перекрестие лучей всегда будет находиться строго под фрезой.
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Хостинг по CNC http://cncfiles.su/
-
- Станкостроитель
- Сообщения: 982
- Зарегистрирован: 01 сен 2010, 00:00
- Имя: Владимир
- Откуда: Украина
Надо предварительно увеличить разрешение распознаваемого изображения (кадра) раза в 2-а, используя подходящий метод интерполяции (надо подумать, какой здесь подойдёт лучше). Тогда при "попадании" луча на чётное кол-во пикселей можно высчитать положение середины луча более точно (ну, здесь уже определиться, в какую сторону смещаться в таком случае).ATM67 писал(а):Такой метод пробовал, если их не четное количество получается "красиво", а вот с четным... или верхний или нижний?, не "красиво".
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Нема за шо. Только я кажется нарисовал левую часть рисунка неправильно, чето сам понять не могу как оно у меня там светит....Dj_smart писал(а): спасибо за идею:).
Извиние, мне что за мольбертом стоять, что в балете танцевать, все одно, чтото мешает
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Так я так и объяснил, а вот нарисовал ... Хорошо, что поняли....
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Спасибо! Так и надо.
Вот видео сканирования плоским лучом, правда снято камерой не с того места откуда надо, но зато на столе хорошо видны линии "нулевой высоты"...
http://www.youtube.com/watch?v=QMoCkaeL67s
Вот видео сканирования плоским лучом, правда снято камерой не с того места откуда надо, но зато на столе хорошо видны линии "нулевой высоты"...
http://www.youtube.com/watch?v=QMoCkaeL67s
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
В общем начал вечером эксперименты. Первый этап пройден, картинку с веб камеры беру, в принципе линию от лазера засекаю. Она в программе выделятся зеленым цветом. Лазер 650 нм
Сама программа.
Скачать файл "3d.exe" с файлообменника cncfiles.su (530.5 кб)
Пара проблем конечно вылезла.
Синхронизировать веб камеру с шаговым будет невозможно. Точнее если привязаться к конкретной модели камеры, это можно в принципе сделать, если делать без привязки к марке веб камеры, то идет от неё поток, и нельзя её сказать, а "мне сейчас кадрик пожалуйста". Самое хреновое поток сильно запаздывает, и неравномерно. Так что о 25 кадрах в секунду можно забыть.
Веб камера имеет хреновое разрешение. Хотя на моей написано 2МП в режиме видео, больше 800*600 из неё не выжать. Кроме того веб камера очень сильно жмет картинку, часть спектра и часть разрешения теряется как раз, там где нам надо. => надо смотреть в сторону фотоаппаратов.
Лазер в <5 mW слабоват, можно работать только в тени. Линию из точки делаю с помощью круглой стекляшки, может затухание на ней сильное, но лазер с оптикой, отбывающего линию не встречался.
Сама программа.
Скачать файл "3d.exe" с файлообменника cncfiles.su (530.5 кб)
Пара проблем конечно вылезла.
Синхронизировать веб камеру с шаговым будет невозможно. Точнее если привязаться к конкретной модели камеры, это можно в принципе сделать, если делать без привязки к марке веб камеры, то идет от неё поток, и нельзя её сказать, а "мне сейчас кадрик пожалуйста". Самое хреновое поток сильно запаздывает, и неравномерно. Так что о 25 кадрах в секунду можно забыть.
Веб камера имеет хреновое разрешение. Хотя на моей написано 2МП в режиме видео, больше 800*600 из неё не выжать. Кроме того веб камера очень сильно жмет картинку, часть спектра и часть разрешения теряется как раз, там где нам надо. => надо смотреть в сторону фотоаппаратов.
Лазер в <5 mW слабоват, можно работать только в тени. Линию из точки делаю с помощью круглой стекляшки, может затухание на ней сильное, но лазер с оптикой, отбывающего линию не встречался.
-
- КУМ
- Сообщения: 6126
- Зарегистрирован: 26 авг 2009, 00:00
- Имя: Николай Иосифович
- Откуда: Инта респ. Коми, 2000 км от Москвы на север!
- Контактная информация:
Интерес есть, только меня почти нет, что-то текучка заела, дохнуть некогда....
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
- Alex64
- Станкостроитель
- Сообщения: 20
- Зарегистрирован: 10 апр 2010, 00:00
- Откуда: Кемерово
- Контактная информация:
Ув. Трудоголик, в прошлом году была моя ветка про сканер. Еще раз повторю - если задрать контрастность, нет необходимости заниматься особо вычислениями - импульс засветки в строке легко ловится компаратором микроконтроллера. микро контроллер также легко выделит кадры и строки. При камере расположенной под углом к плоскости сканирования временная отметка точки засветки от начала строки однозначно будет соответствовать высоте рельефа