Мазмуну:

Python тилинде структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери: 6 кадам (сүрөттөр менен)
Python тилинде структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери: 6 кадам (сүрөттөр менен)

Video: Python тилинде структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери: 6 кадам (сүрөттөр менен)

Video: Python тилинде структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери: 6 кадам (сүрөттөр менен)
Video: КАЛЬКУЛЯТОР ОДНОЙ СТРОЧКОЙ НА ПИТОНЕ / ГАЙД ПО PYTHON / ПРОГРАММИРУЙ КАК ПРО 2024, Июль
Anonim
Python тилинде структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери
Python тилинде структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери
Python тилинде структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери
Python тилинде структураланган жарыкка жана стерео көрүнүшкө негизделген DIY 3D сканери

Бул 3D сканер видео проектор жана вебкамералар сыяктуу арзан баада кадимки нерселерди колдонуу менен жасалган. Структураланган жарык 3D сканери-болжолдонгон жарык моделдерин жана камера системасын колдонуу менен объекттин үч өлчөмдүү формасын өлчөө үчүн 3D сканерлөөчү прибор. Программа питон тили менен структураланган жарыкка жана стерео көрүнүшкө негизделген.

Жарыктын тар диапазонун үч өлчөмдүү бетке проекциялоо, проектордукуна караганда башка өңүттөн бурмаланган жарык сызыгын пайда кылат жана аны беттин формасын так геометриялык реконструкциялоо үчүн колдонсо болот. Горизонталдык жана вертикалдык жарык диапазондору объектинин бетине проекцияланып, андан кийин эки веб -камерага түшүрүлөт.

1 -кадам: Киришүү

Киришүү
Киришүү
Киришүү
Киришүү

Автоматтык түрдө 3D алуу аппараттары (көбүнчө 3D сканерлери деп аталат) реалдуу 3D объектилеринин өтө так моделдерин үнөмдүү жана убакытты үнөмдүү түрдө түзүүгө мүмкүндүк берет. Биз бул технологияны оюнчукту сканерлеп көрүп, анын иштешин далилдедик. Өзгөчө муктаждыктар: орточо тактык, колдонууга оңойлук, сканерлөө аппараттын жеткиликтүү наркы, форма жана түстүү маалыматтарды өз алдынча каттоого алуу жана акыры оператордун да, сканерленген объекттердин да иштөө коопсуздугу. Бул талаптарга ылайык, биз структураланган жарыкка негизделген арзан баадагы 3D сканерди иштеп чыктык, ал түрдүү түстүү тилкелүү үлгү ыкмасын кабыл алат. Биз сканердин архитектурасын, кабыл алынган программалык технологияларды жана оюнчуктун 3D сатып алуусуна байланыштуу долбоордо колдонуунун биринчи жыйынтыктарын сунуштайбыз.

Биздин арзан сканерибиздин дизайнында эмитир бирдигин видео проектор аркылуу ишке ашырууну чечтик. Себеби, бул түзмөктүн ийкемдүүлүгү (жарыктын бардык түрүн эксперимент кылууга мүмкүндүк берет) жана анын кеңири болушу. Сенсор же ыңгайлаштырылган түзмөк, стандарттык санарип фотокамера же веб -камера болушу мүмкүн. ал жогорку сапаттагы түс тартууну (б.а. жогорку динамикалык диапазонду) жана, балким, жогорку чечимди колдошу керек.

2 -кадам: Программалык камсыздоо

Программалык камсыздоо
Программалык камсыздоо

Python тили программалоо үчүн үч себептен колдонулган, бирин үйрөнүү жана ишке ашыруу оңой, экинчиси OPENCVди сүрөттөр менен байланышкан процедуралар үчүн колдоно алабыз, ал эми үчөө ар кандай операциялык тутумдун арасында көчмө болгондуктан сиз бул программаны Windows, MAC жана Linuxто колдоно аласыз. Сиз ошондой эле программалык камсыздоону ар кандай камера (вебкамералар, SLR же өнөр жай камералары) же 1024X768 жергиликтүү токтому бар проектор менен колдоно аласыз. Чечимдүүлүгү эки эседен ашкан камераларды колдонуу жакшы. Мен иштөөнү үч башка конфигурацияда сынап көрдүм, биринчиси Microsoftтун эки параллель кинотеатры жана кичинекей портативдүү проектору менен, экинчиси бири -бирине 15 градуска бурулган эки камералуу кинофильмдер менен Infocus проектору, акыркы конфигурациясы logitech вебкамералары менен болгон. жана Infocus проектору. Объект бетинин чекиттүү булутун тартуу үчүн биз беш кадам менен барышыбыз керек:

1. Боз түстүү оймо -чиймелерди долбоорлоо жана эки камерадан сүрөттөрдү тартуу "SL3DS1.projcapt.py"

2. Ар бир камеранын 42 сүрөтүн иштетүү жана "SL3DS2.procimages.py" чекит коддорун тартуу

2. "SL3DS3.adjustthresh.py" иштетилүүчү аймактар үчүн маскировканы тандоо үчүн босогону тууралоо.

4. Ар бир камерадан "SL3DS4.calcpxpy.py" окшош пункттарды таап, сактаңыз.

5 "SL3DS5.calcxyz.py" чекит булутунун X, Y жана Z координаттарын эсептөө

Чыгаруу - бул объектинин бетиндеги чекиттердин координаты жана түстүү маалыматы бар PLY файлы. Сиз PLY файлдарын CAD программасы менен Autodesk өнүмдөрү же Meshlab сыяктуу ачык булак программасы менен ача аласыз.

www.autodesk.com/products/personal-design-a…

Бул Python программаларын иштетүү үчүн Python 2.7, OPENCV модулу жана NUMPY орнотулушу керек. Мен ошондой эле TKINTERде бул программалык камсыздоонун GUIин иштеп чыктым, аны сиз алты үлгүдөгү эки маалымат топтому менен таба аласыз. Бул темада кошумча маалыматты төмөнкү вебсайттардан таба аласыз:

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 мм акрил плиталардан жана лазер кескич менен 6 мм HDF жыгачтан жасалган)

Эки камера жана проектор ноутбук сыяктуу эки видео чыгуусу бар компьютерге туташтырылышы керек жана проектордун экраны негизги терезелердин үстөлүнүн кеңейтүүсү катары конфигурацияланууга тийиш. Бул жерде камералардын, проектордун жана стенддин сүрөттөрүн көрө аласыз. Чийүү файлы SVG форматында тиркелет.

Проектор Infocus LP330 (Native токтому 1024X768) төмөнкүдөй мүнөздөмөлөр менен. Жарыктык: 650 люменин түсү жарыктын чыгышы: ** Контраст (Толук күйүк/өчүрүү): 400: 1 Auto Iris: Түпнуска чечими жок: 1024x768 Аспект катышы: 4: 3 (XGA) Видео режимдери: ** Маалымат режимдери: MAX 1024x768 Max Power: 200 Watts Voltage: 100V - 240V Size (cm) (HxWxD): 6 x 22 x 25 Weight: 2.2 kg Lamp Life (Full Power): 1, 000 саат Чырактын түрү: UHPLamp Ватт: 120 Ватт Лампанын саны: 1 Дисплейдин түрү: 2 см DLP (1) Стандарттык масштабдуу линза: 1.25: 1 Фокус: Кол менен ыргытуу (м): 1.5 - 30.5 Сүрөт өлчөмү (см): 76 - 1971

Бул видео проектор сканерленүүчү объектке структураланган жарык моделдерин проектирлөө үчүн колдонулат. Структураланган үлгү тигил жана горизонталдуу ак жарык тилкелеринен турат, алар маалымат файлында сакталат жана веб -камералар ошол бурмаланган тилкелерди тартып алышат.

Эң жакшысы программалык камсыздоону көзөмөлдөгөн камераларды колдонуңуз, анткени сиз фокусту, жарыктыкты, чечимди жана сүрөттүн сапатын тууралашыңыз керек. Ар бир бренд тарабынан берилген SDKлер менен DSLR камераларын колдонсо болот.

Анын колдоосу менен Копенгаген Фаблабда монтаж жана сыноолор өткөрүлдү.

4 -кадам: Сканер менен эксперимент жүргүзүү

Сканер менен эксперимент жүргүзүү
Сканер менен эксперимент жүргүзүү
Сканер менен эксперимент жүргүзүү
Сканер менен эксперимент жүргүзүү
Сканер менен эксперимент жүргүзүү
Сканер менен эксперимент жүргүзүү

Системаны сыноо үчүн балык оюнчугу колдонулган жана сиз тартылган сүрөттү көрө аласыз. Бардык тартылган файл, ошондой эле чыгаруу чекити булут тиркелген файлга киргизилет, PLY чекит булут файлын Meshlab менен ача аласыз:

meshlab.sourceforge.net/

5 -кадам: Кээ бир башка сканерлөө жыйынтыктары

Кээ бир башка сканерлөө жыйынтыктары
Кээ бир башка сканерлөө жыйынтыктары
Кээ бир башка сканерлөө жыйынтыктары
Кээ бир башка сканерлөө жыйынтыктары
Кээ бир башка сканерлөө жыйынтыктары
Кээ бир башка сканерлөө жыйынтыктары
Кээ бир башка сканерлөө жыйынтыктары
Кээ бир башка сканерлөө жыйынтыктары

Бул жерде сиз адамдын бетин сканерлөөнү жана дубалды 3d сканерлөөнү көрө аласыз. Ар дайым чагылдыруу же так эмес сүрөттүн жыйынтыгынан улам кээ бир сырткы чекиттер бар.

6 -кадам: 3D сканеринин GUI

3D сканери GUI
3D сканери GUI

Бул кадамда 3d сканерлөө программасын текшерүү үчүн, мен эки маалымат топтомун кошомун, бири - балыкты сканерлөө, экинчиси - анын тактыгын көрүү үчүн жөн гана учак дубалы. ZIP файлдарын ачыңыз жана SL3DGUI.py иштетиңиз. Орнотууну текшерүү үчүн 2 -кадамды текшериңиз. Кириш кутучага булак кодун жөнөтүңүз.

3d сканерлөө бөлүгүн колдонуу үчүн эки камера жана проектор орнотуу керек, бирок башка бөлүктөр үчүн баскычты чыкылдатыңыз. Үлгү маалыматтарды текшерүү үчүн адегенде процессти, анан босогону, стерео матчты жана акыры чекит булутун басыңыз. Булут чекитин көрүү үчүн Meshlabти орнотуңуз.

meshlab.sourceforge.net/

Сунушталууда: