Isi kandungan:
- Langkah 1: Pengenalan
- Langkah 2: Perisian
- Langkah 3: Persediaan Perkakasan
- Langkah 4: Mengeksperimen Dengan Pengimbas
- Langkah 5: Beberapa Hasil Imbasan Lain
- Langkah 6: GUI Pengimbas 3D
Video: Pengimbas 3D DIY Berdasarkan Cahaya Berstruktur dan Penglihatan Stereo dalam Bahasa Python: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Pengimbas 3D ini dibuat dengan menggunakan barang konvensional kos rendah seperti projektor video dan kamera web. Pengimbas 3D berstruktur cahaya adalah alat pengimbas 3D untuk mengukur bentuk tiga dimensi objek menggunakan corak cahaya yang diproyeksikan dan sistem kamera. Perisian dibangunkan berdasarkan penglihatan cahaya dan stereo berstruktur dengan bahasa python.
Memproyeksikan jalur cahaya yang sempit ke permukaan berbentuk tiga dimensi menghasilkan garis pencahayaan yang kelihatan terdistorsi dari perspektif lain daripada projektor, dan dapat digunakan untuk pembinaan semula geometri bentuk permukaan yang tepat. Jalur cahaya mendatar dan menegak diproyeksikan pada permukaan objek dan kemudian ditangkap oleh dua kamera web.
Langkah 1: Pengenalan
Peranti pemerolehan 3D automatik (sering dipanggil pengimbas 3D) memungkinkan untuk membina model objek 3D yang sangat tepat dengan kos dan masa yang efektif. Kami telah mencuba teknologi ini dalam mengimbas mainan untuk membuktikan prestasi. Keperluan khusus adalah: ketepatan sederhana tinggi, mudah digunakan, kos peranti pengimbasan yang berpatutan, pemerolehan data bentuk dan warna yang didaftarkan sendiri, dan akhirnya keselamatan operasi untuk pengendali dan objek yang diimbas. Mengikut keperluan ini, kami merancang pengimbas 3D kos rendah berdasarkan cahaya berstruktur yang menggunakan pendekatan corak jalur berwarna serba boleh. Kami menyajikan seni bina pengimbas, teknologi perisian yang digunakan, dan hasil pertama penggunaannya dalam projek mengenai pemerolehan mainan 3D.
Dalam reka bentuk pengimbas kos rendah kami, kami memilih untuk melaksanakan unit pemancar dengan menggunakan projektor video. Sebabnya ialah fleksibiliti peranti ini (yang memungkinkan untuk mencuba sebarang jenis corak cahaya) dan ketersediaannya yang luas. Sensor boleh berupa peranti khusus, kamera digital biasa atau kamera web. ia mesti menyokong tangkapan warna berkualiti tinggi (iaitu pemerolehan julat dinamik tinggi) dan mungkin dengan resolusi tinggi.
Langkah 2: Perisian
Bahasa Python digunakan untuk pengaturcaraan untuk tiga sebab, satu mudah dipelajari dan dilaksanakan, dua kita dapat menggunakan OPENCV untuk rutin yang berkaitan dengan gambar dan tiga bahasa itu mudah alih di antara sistem operasi yang berbeza sehingga anda dapat menggunakan program ini di windows, MAC dan Linux. Anda juga boleh mengkonfigurasi perisian untuk digunakan dengan kamera jenis apa pun (kamera web, SLR atau kamera industri) atau projektor dengan resolusi 1024X768 asli. Lebih baik menggunakan kamera dengan resolusi lebih dari dua kali. Saya secara peribadi menguji prestasi dalam tiga konfigurasi yang berbeza, yang pertama adalah dengan dua pawagam webcam Microsoft selari dan projektor mudah alih kecil, yang kedua adalah dengan dua kamera web pawagam lifecam yang berputar 15 darjah satu sama lain dan projektor Infocus, konfigurasi terakhir adalah dengan kamera web logitech dan projektor Infokus. Untuk menangkap awan titik permukaan objek, kita harus melalui lima langkah:
1. Mengunjurkan corak kelabu dan menangkap gambar dari dua kamera "SL3DS1.projcapt.py"
2. Memproses 42 gambar setiap kamera dan menangkap kod titik "SL3DS2.procimages.py"
2. Melaraskan ambang untuk memilih penyamaran untuk kawasan yang akan diproses "SL3DS3.adjustthresh.py"
4. Cari dan simpan titik serupa di setiap kamera "SL3DS4.calcpxpy.py"
5 Hitung koordinat X, Y dan Z titik awan "SL3DS5.calcxyz.py"
Keluarannya adalah fail PLY dengan maklumat koordinat dan warna titik pada permukaan objek. Anda boleh membuka fail PLY dengan perisian CAD seperti produk Autodesk atau perisian sumber terbuka seperti Meshlab.
www.autodesk.com/products/personal-design-a…
Python 2.7, modul OPENCV dan NUMPY harus dipasang untuk menjalankan program Python ini. Saya juga telah mengembangkan GUI untuk perisian ini di TKINTER yang dapat anda temukan pada langkah keenam dengan dua set data sampel. Anda boleh mendapatkan maklumat tambahan mengenai perkara ini di laman web berikut:
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…
Langkah 3: Persediaan Perkakasan
Perkakasan terdiri daripada:
1. Dua kamera web (Logitech C920C)
2. Projektor Infocus LP330
3. Dudukan kamera dan projektor (dibuat dari plat akrilik 3 mm dan potongan kayu HDF 6 mm dengan pemotong laser)
Dua kamera dan projektor harus disambungkan ke komputer dengan dua output video seperti komputer notebook dan skrin projektor harus dikonfigurasi sebagai pelanjutan ke desktop windows utama. Di sini anda dapat melihat gambar kamera, projektor dan pendirian. Fail lukisan yang siap dipotong dilampirkan dalam format SVG.
Projektor adalah Infocus LP330 (Resolusi asli 1024X768) dengan spesifikasi berikut. Kecerahan: Output Cahaya Warna 650 Lumens: ** Kontras (Hidup / Mati Penuh): 400: 1 Iris Auto: Tiada Resolusi Asli: 1024x768 Nisbah Aspek: 4: 3 (XGA) Mod Video: ** Mod Data: MAX 1024x768 Kuasa Maks: 200 Watt Voltan: 100V - 240V Saiz (cm) (HxWxD): 6 x 22 x 25 Berat: 2.2 kg Kehidupan Lampu (Kuasa Penuh): 1, 000 jam Jenis Lampu: UHPL Lampu Watt: 120 Watt Kuantiti Lampu: 1 Jenis Paparan: 2 cm DLP (1) Lens Zum Standard: 1.25: 1 Fokus: Dist Throw Manual (m): 1.5 - 30.5 Saiz Gambar (cm): 76 - 1971
Projektor video ini digunakan untuk memproyeksikan corak cahaya berstruktur pada objek yang akan diimbas. Corak berstruktur terdiri daripada jalur cahaya putih menegak dan mendatar yang disimpan pada fail data dan kamera web menangkap jalur yang memutarbelitkan.
Sebaiknya gunakan kamera yang dikendalikan oleh perisian kerana anda perlu menyesuaikan fokus, kecerahan, resolusi dan kualiti gambar. Anda boleh menggunakan kamera DSLR dengan SDK yang disediakan oleh setiap jenama.
Perhimpunan dan ujian dilakukan di Copenhagen Fablab dengan sokongannya.
Langkah 4: Mengeksperimen Dengan Pengimbas
Untuk menguji sistem, mainan ikan telah digunakan dan anda dapat melihat gambar yang diambil. Semua fail yang ditangkap dan juga awan titik output disertakan dalam fail yang dilampirkan, anda boleh membuka fail awan PLY point dengan Meshlab:
meshlab.sourceforge.net/
Langkah 5: Beberapa Hasil Imbasan Lain
Di sini anda dapat melihat beberapa imbasan wajah manusia dan imbasan dinding 3d. Selalu ada beberapa titik tersembunyi kerana pantulan atau hasil gambar yang tidak tepat.
Langkah 6: GUI Pengimbas 3D
Untuk menguji perisian imbasan 3d dalam langkah ini, saya menambah dua set data satu ialah imbasan ikan dan yang lain hanyalah dinding satah untuk melihat ketepatannya. Buka fail ZIP dan jalankan SL3DGUI.py. Untuk pemasangan, semak langkah 2. Hantar mesej ke peti masuk saya di sini untuk semua kod sumber.
Untuk menggunakan bahagian imbasan 3d, anda perlu memasang dua kamera dan projektor tetapi untuk bahagian lain klik pada butang. Untuk menguji data sampel pertama klik pada proses kemudian ambang, padanan stereo dan akhirnya titik awan. Pasang Meshlab untuk melihat awan titik.
meshlab.sourceforge.net/
Disyorkan:
Jam Perkataan 'Bulat' (dalam Bahasa Belanda & Inggeris!): 8 Langkah (dengan Gambar)
Jam Bulat 'Bulat' (dalam bahasa Belanda & Inggeris!): Beberapa tahun yang lalu saya pertama kali melihat Jam Word di internet. Sejak itu, saya selalu mahu membuatnya sendiri. Terdapat banyak Instructables yang tersedia, tetapi saya mahu membuat sesuatu yang asli. Saya tidak tahu banyak mengenai elektronik, jadi saya menggunakan
Pembaca / penulis NFC ScanUp dan Perakam Audio untuk Orang Buta, Gangguan Penglihatan dan Semua Orang Lain: 4 Langkah (dengan Gambar)
Pembaca / penulis ScanUp NFC dan Perakam Audio untuk Orang Buta, Gangguan Penglihatan dan Semua Orang Lain: Saya belajar reka bentuk perindustrian dan projeknya adalah hasil kerja semester saya. Tujuannya adalah untuk menyokong orang yang cacat penglihatan dan buta dengan peranti, yang memungkinkan untuk merakam audio dalam format.WAV pada kad SD dan memanggil maklumat tersebut dengan tag NFC. Jadi dalam
Menggunakan Penglihatan Sonar, Lidar, dan Komputer pada Mikrokontroler untuk Membantu Orang-orang yang Gangguan Penglihatan: 16 Langkah
Menggunakan Sonar, Lidar, dan Penglihatan Komputer pada Pengawal Mikro untuk Membantu Orang-orang yang Bermasalah Penglihatan: Saya ingin membuat ‘tongkat’ pintar yang dapat membantu orang-orang dengan masalah penglihatan jauh lebih banyak daripada penyelesaian yang ada. Tebu akan dapat memberitahu pengguna objek di depan atau di sisi dengan membuat bunyi di headphon jenis bunyi sekeliling
Penyelesaian Penglihatan yang Mampu Dengan Arm Robot Berdasarkan Arduino: 19 Langkah (dengan Gambar)
Penyelesaian Penglihatan yang Berpatutan Dengan Lengan Robot Berdasarkan Arduino: Apabila kita bercakap mengenai penglihatan mesin, selalu terasa tidak dapat dicapai oleh kita. Walaupun kami membuat demo penglihatan sumber terbuka yang sangat mudah dibuat untuk semua orang. Dalam video ini, dengan kamera OpenMV, di mana pun kubus merah berada, robot itu
SIR (Penglihatan Gangguan Penglihatan): 4 Langkah
SIR (Sight Impairment Replicators): Sight Impairment Replicators (SIR) adalah cara bagi orang yang mengalami masalah penglihatan untuk mengetahui bagaimana kebutaan mereka akan mempengaruhi mereka di masa depan. Googles seharusnya dapat menyekat semua cahaya dan mewujudkan kegelapan yang hampir sempurna untuk digunakan