İçindekiler:
- Adım 1: Giriş
- 2. Adım: Yazılım
- Adım 3: Donanım Kurulumu
- 4. Adım: Tarayıcıyla Deneme Yapma
- Adım 5: Bazı Diğer Tarama Sonuçları
- Adım 6: 3D Tarayıcı GUI'si
Video: Python Dilinde Yapılandırılmış Işık ve Stereo Görüşe Dayalı DIY 3D Tarayıcı: 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu 3D tarayıcı, video projektörü ve web kamerası gibi düşük maliyetli geleneksel öğeler kullanılarak yapılmıştır. Yapılandırılmış hafif bir 3D tarayıcı, yansıtılan ışık desenleri ve bir kamera sistemi kullanarak bir nesnenin üç boyutlu şeklini ölçmek için kullanılan bir 3D tarama cihazıdır. Yazılım, python dili ile yapılandırılmış ışık ve stereo görüşe dayalı olarak geliştirilmiştir.
Üç boyutlu şekilli bir yüzeye dar bir ışık şeridi yansıtmak, projektörün perspektifinden farklı açılardan bozuk görünen bir aydınlatma çizgisi üretir ve yüzey şeklinin tam bir geometrik rekonstrüksiyonu için kullanılabilir. Yatay ve dikey ışık bantları nesne yüzeyine yansıtılır ve ardından iki web kamerası tarafından yakalanır.
Adım 1: Giriş
Otomatik 3B yakalama cihazları (genellikle 3B tarayıcılar olarak adlandırılır), gerçek 3B nesnelerin yüksek doğrulukta modellerini maliyet ve zaman açısından verimli bir şekilde oluşturmaya olanak tanır. Performansı kanıtlamak için bir oyuncağı tararken bu teknolojiyi denedik. Spesifik ihtiyaçlar şunlardır: orta-yüksek doğruluk, kullanım kolaylığı, tarama cihazının uygun maliyeti, kendi kendine kayıtlı şekil ve renk verilerinin alınması ve son olarak hem operatör hem de taranan nesneler için operasyonel güvenlik. Bu gereksinimlere göre, çok yönlü renkli şerit deseni yaklaşımını benimseyen yapılandırılmış ışığa dayalı düşük maliyetli bir 3D tarayıcı tasarladık. Bir oyuncağın 3D edinimi ile ilgili bir projede tarayıcı mimarisini, benimsenen yazılım teknolojilerini ve kullanımının ilk sonuçlarını sunuyoruz.
Düşük maliyetli tarayıcımızın tasarımında emitör ünitesini bir video projektör kullanarak uygulamayı tercih ettik. Bunun nedeni, bu cihazın esnekliği (her türlü ışık düzenini denemeye izin verir) ve geniş kullanılabilirliğiydi. Sensör, özel bir cihaz, standart bir dijital fotoğraf makinesi veya bir web kamerası olabilir. yüksek kaliteli renk yakalamayı (yani yüksek dinamik aralığın elde edilmesini) ve muhtemelen yüksek çözünürlükle desteklemesi gerekir.
2. Adım: Yazılım
Python dili üç nedenden dolayı programlama için kullanıldı, biri öğrenmesi ve uygulaması kolay, ikisi OPENCV'i görüntü ile ilgili rutinler için kullanabiliriz ve üçü farklı işletim sistemleri arasında taşınabilir, böylece bu programı Windows, MAC ve Linux'ta kullanabilirsiniz. Yazılımı, her türlü kamera (web kameraları, SLR'ler veya endüstriyel kameralar) veya yerel 1024X768 çözünürlüğe sahip projektör ile kullanmak için de yapılandırabilirsiniz. Çözünürlüğü iki katından fazla olan kameraları kullanmak daha iyidir. Performansı kişisel olarak üç farklı konfigürasyonda test ettim, ilki iki paralel Microsoft web kamerası sineması ve küçük bir taşınabilir projektörle, ikincisi birbirine doğru 15 derece dönen iki lifecam sinema kamerası ve Infocus projektör ile yapıldı, son yapılandırma logitech web kameralarıyla yapıldı. ve Infocus projektör. Nesne yüzeyinin nokta bulutunu yakalamak için beş adımdan geçmeliyiz:
1. Gri desenleri yansıtma ve iki kameradan "SL3DS1.projcapt.py" görüntü yakalama
2. Her kameranın 42 görüntüsünün işlenmesi ve "SL3DS2.procimages.py" kodlarının yakalanması
2. İşlenecek alanlar için maskeleme seçmek üzere eşiğin ayarlanması "SL3DS3.adjustthresh.py"
4. Her kamerada benzer noktaları bulun ve kaydedin "SL3DS4.calcpxpy.py"
5 "SL3DS5.calcxyz.py" nokta bulutunun X, Y ve Z koordinatlarını hesaplayın
Çıktı, nesne yüzeyindeki noktaların koordinat ve renk bilgilerini içeren bir PLY dosyasıdır. PLY dosyalarını Autodesk ürünleri gibi CAD yazılımı veya Meshlab gibi açık kaynaklı bir yazılım ile açabilirsiniz.
www.autodesk.com/products/personal-design-a…
Bu Python programlarını çalıştırmak için Python 2.7, OPENCV modülü ve NUMPY kurulu olmalıdır. Ayrıca TKINTER'da bu yazılım için iki örnek veri seti ile altıncı adımda bulabileceğiniz bir GUI geliştirdim. Bu konuyla ilgili ek bilgileri aşağıdaki web sitelerinde bulabilirsiniz:
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…
Adım 3: Donanım Kurulumu
Donanım şunlardan oluşur:
1. İki web kamerası (Logitech C920C)
2. Infocus LP330 projektör
3. Kamera ve projektör sehpası (3 mm Akrilik plakalardan ve lazer kesici ile kesilmiş 6 mm HDF ahşaptan yapılmıştır)
Dizüstü bilgisayar gibi iki video çıkışlı bir bilgisayara iki kamera ve projektör bağlanmalı ve projektör ekranı ana windows masaüstüne bir uzantı olarak yapılandırılmalıdır. Burada kamera, projektör ve stant görüntülerini görebilirsiniz. Kesime hazır çizim dosyası SVG formatında eklenir.
Projektör, aşağıdaki özelliklere sahip bir Infocus LP330'dur (Yerel çözünürlük 1024X768). Parlaklık:650 Lümen Renkli Işık Çıkışı:**Kontrast (Tam Açık/Kapalı):400:1 Otomatik İris:Yerel Çözünürlük Yok:1024x768 En Boy Oranı:4:3 (XGA) Video Modları:**Veri Modları:MAKS 1024x768 Maks Güç:200 Watt Voltaj:100V - 240V Boyut(cm) (YxGxD):6 x 22 x 25 Ağırlık:2.2 kg Lamba Ömrü(Tam Güç):1.000 saat Lamba Tipi:UHPLamp Watt:120 Watt Lamba Miktarı:1 Ekran Tipi:2 cm DLP (1) Standart Zoom Lens:1,25:1 Odak:Manuel Atış Mesafesi (m): 1,5 - 30,5 Görüntü Boyutu(cm):76 - 1971
Bu video projektörü, taranacak nesneye yapılandırılmış ışık desenlerini yansıtmak için kullanılır. Yapılandırılmış desen, bir veri dosyasına kaydedilen dikey ve yatay beyaz ışık şeritlerinden oluşur ve web kameraları bu bozuk şeritleri yakalar.
Odak, parlaklık, çözünürlük ve görüntü kalitesini ayarlamanız gerektiğinden, yazılımla kontrol edilebilen kameraları tercih edin. Her markanın sağladığı SDK'lar ile DSLR fotoğraf makinelerini kullanmak mümkündür.
Kopenhag Fablab'ın desteğiyle montaj ve testler yapıldı.
4. Adım: Tarayıcıyla Deneme Yapma
Sistemi test etmek için bir balık oyuncağı kullanıldı ve yakalanan görüntüyü görebilirsiniz. Yakalanan tüm dosyalar ve ayrıca çıktı noktası bulutu ekli dosyaya dahil edilmiştir, PLY nokta bulutu dosyasını Meshlab ile açabilirsiniz:
meshlab.sourceforge.net/
Adım 5: Bazı Diğer Tarama Sonuçları
Burada bazı insan yüzü taramalarını ve bir duvarın 3 boyutlu taramasını görebilirsiniz. Yansımalar veya hatalı görüntü sonuçları nedeniyle her zaman bazı aykırı noktalar vardır.
Adım 6: 3D Tarayıcı GUI'si
Bu adımda 3d tarama yazılımını test etmek için, biri balık taraması diğeri ise doğruluğunu görmek için sadece bir düzlem duvarı olan iki veri seti ekliyorum. ZIP dosyalarını açın ve SL3DGUI.py'yi çalıştırın. Kurulum için 2. adımı kontrol edin. Tüm kaynak kodları için buradan gelen kutuma mesaj gönderin.
3d tarama bölümünü kullanmak için iki kamera ve projektör kurmanız gerekir, ancak diğer parçalar için butona tıklamanız yeterlidir. Örnek verileri test etmek için önce işleme, ardından eşik, stereo eşleşme ve son olarak nokta bulutuna tıklayın. Nokta bulutunu görmek için Meshlab'ı kurun.
meshlab.sourceforge.net/
Önerilen:
SSS Yapılandırılmış Gitar Pickguard'ı Lehimleme: 3 Adım
SSS Yapılandırılmış Gitar Pickguard'ı Lehimleme: Talimatta, kendi SSS gitar pickguard'ınızı kablolama sürecinden geçeceğim. Öncelikle, bu projeyi yapıyorsanız, sürece giren kısımları iyi bir şekilde anlamaya çalışmalısınız. SSS formatı temelde üç
Adım Adım Ciclop 3d Tarayıcı My Way: 16 Adım (Resimlerle)
Adım Adım Ciclop 3d Tarayıcı Adım Adım: Merhabalar, ünlü Ciclop 3D tarayıcıyı gerçekleştireceğim. Orijinal projede iyi açıklanan tüm adımlar mevcut değil. Öncelikle işlemi basitleştirmek için bazı düzeltmeler yaptım. Tabanı yazdırıyorum ve PCB'yi yeniden sterilize ediyorum, ama devam et
Yanlış Yapılandırılmış HC-06 Bluetooth Modülünü Kurtarın: 4 Adım
Yanlış Yapılandırılan HC-06 Bluetooth Modülünü Kurtar: Saf maksimalizm dışında, AT+BAUDC komutuyla HC-06 Bluetooth (bağımlı) modülümü 1.382.400 baud baud hızına yapılandırdım. Arduino ona bağlandığından beri SoftwareSerial kütüphanesi ile modülü kullanamadı. geri yüklemeye çalıştım
Müzikle Tepkisel Işık--Masaüstünü Harika Hale Getirmek için Süper Basit Müzik Tepkisel Işık Nasıl Yapılır.: 5 Adım (Resimlerle)
Müzik Reaktif Işık||Masaüstünü Harika Hale Getirmek için Süper Basit Müzik Reaktif Işığı Nasıl Yapılır.: Hey naber arkadaşlar, Bugün çok ilginç bir proje inşa edeceğiz.Bugün müzikle reaktif ışık oluşturacağız. aslında düşük frekanslı ses sinyali olan bas. Yapımı çok basit. Biz
20$/20dk Ticari Kaliteli Katlanır Işık Kutusu / Işık Çadırı: 7 Adım (Resimlerle)
20$/20dk Ticari Kalitede Katlanır Işık Kutusu / Işık Çadırı: Ürün veya yakın çekim fotoğraflar için bir DIY ışık kutusu arıyorsanız, çok sayıda seçeneğiniz olduğunu zaten biliyorsunuzdur. Karton kutulardan çamaşır sepetlerine kadar, projenin ölümüne yapıldığını düşünüyor olabilirsiniz. Fakat bekle! 20 dolar için