สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
สแกนเนอร์ 3 มิตินี้ผลิตขึ้นโดยใช้รายการทั่วไปที่มีต้นทุนต่ำ เช่น โปรเจ็กเตอร์วิดีโอและเว็บแคม เครื่องสแกน 3 มิติแบบแสงที่มีโครงสร้างเป็นอุปกรณ์สแกน 3 มิติสำหรับวัดรูปร่างสามมิติของวัตถุโดยใช้รูปแบบแสงที่ฉายและระบบกล้อง ซอฟต์แวร์ได้รับการพัฒนาโดยใช้แสงที่มีโครงสร้างและการมองเห็นแบบสเตอริโอด้วยภาษาไพ ธ อน
การฉายแสงแถบแคบลงบนพื้นผิวรูปทรงสามมิติทำให้เกิดแนวแสงที่บิดเบี้ยวจากมุมมองอื่นที่ไม่ใช่ของโปรเจ็กเตอร์ และสามารถนำมาใช้สำหรับการสร้างรูปทรงพื้นผิวขึ้นใหม่ทางเรขาคณิตที่แน่นอน แถบแสงแนวนอนและแนวตั้งถูกฉายบนพื้นผิวของวัตถุแล้วจับภาพด้วยเว็บแคมสองตัว
ขั้นตอนที่ 1: บทนำ
อุปกรณ์รับ 3D อัตโนมัติ (มักเรียกว่าเครื่องสแกน 3D) ช่วยให้สามารถสร้างแบบจำลองวัตถุ 3D จริงที่มีความแม่นยำสูงได้ในลักษณะที่คุ้มค่าและตรงเวลา เราได้ทดลองเทคโนโลยีนี้ในการสแกนของเล่นเพื่อพิสูจน์ประสิทธิภาพ ความต้องการเฉพาะคือ: ความแม่นยำปานกลางถึงสูง ใช้งานง่าย ราคาอุปกรณ์สแกนที่ไม่แพง การได้มาซึ่งข้อมูลรูปร่างและสีที่ลงทะเบียนด้วยตนเอง และสุดท้ายคือความปลอดภัยในการปฏิบัติงานสำหรับทั้งผู้ปฏิบัติงานและวัตถุที่สแกน ตามข้อกำหนดเหล่านี้ เราออกแบบเครื่องสแกน 3D ราคาประหยัดโดยใช้แสงที่มีโครงสร้างซึ่งใช้รูปแบบแถบสีเอนกประสงค์ เรานำเสนอสถาปัตยกรรมเครื่องสแกน เทคโนโลยีซอฟต์แวร์ที่นำมาใช้ และผลแรกของการใช้งานในโครงการเกี่ยวกับการได้มาซึ่งของเล่น 3 มิติ
ในการออกแบบเครื่องสแกนต้นทุนต่ำของเรา เราเลือกใช้หน่วยอีซีแอลโดยใช้เครื่องฉายภาพวิดีโอ เหตุผลก็คือความยืดหยุ่นของอุปกรณ์นี้ (ซึ่งทำให้สามารถทดลองรูปแบบแสงแบบใดก็ได้) และความพร้อมใช้งานที่กว้างขวาง เซ็นเซอร์สามารถเป็นได้ทั้งอุปกรณ์ที่กำหนดเอง กล้องถ่ายภาพนิ่งดิจิตอลมาตรฐาน หรือเว็บแคม ต้องรองรับการจับภาพสีคุณภาพสูง (เช่น การรับช่วงไดนามิกสูง) และอาจมีความละเอียดสูง
ขั้นตอนที่ 2: ซอฟต์แวร์
ภาษา Python ใช้สำหรับการเขียนโปรแกรมด้วยเหตุผลสามประการ ประการแรกคือง่ายต่อการเรียนรู้และนำไปใช้ สองภาษาที่เราสามารถใช้ OPENCV สำหรับรูทีนที่เกี่ยวข้องกับรูปภาพ และสามประการเป็นแบบพกพาในระบบปฏิบัติการต่างๆ เพื่อให้คุณสามารถใช้โปรแกรมนี้ใน windows, MAC และ Linux คุณยังสามารถกำหนดค่าซอฟต์แวร์เพื่อใช้กับกล้องชนิดใดก็ได้ (เว็บแคม, SLR หรือกล้องอุตสาหกรรม) หรือโปรเจ็กเตอร์ที่มีความละเอียด 1024X768 ดั้งเดิม ควรใช้กล้องที่มีความละเอียดมากกว่าสองเท่า โดยส่วนตัวฉันทดสอบประสิทธิภาพด้วยการกำหนดค่าที่แตกต่างกันสามแบบ แบบแรกใช้โรงภาพยนตร์เว็บแคมของ Microsoft ขนานกันสองเครื่องและโปรเจ็กเตอร์พกพาขนาดเล็ก อันที่สองใช้กล้องเว็บแคมสำหรับภาพยนตร์ Lifecam สองตัวที่หมุน 15 องศาเข้าหากันและโปรเจ็กเตอร์ Infocus การกำหนดค่าสุดท้ายคือด้วยเว็บแคมของโลจิเทค และโปรเจคเตอร์อินโฟกัส ในการจับภาพจุดเมฆของพื้นผิววัตถุ เราควรดำเนินการตามขั้นตอนห้าขั้นตอน:
1. ฉายภาพรูปแบบสีเทาและถ่ายภาพจากกล้องสองตัว "SL3DS1.projcapt.py"
2. ประมวลผล 42 ภาพของกล้องแต่ละตัวและจับรหัสคะแนน " SL3DS2.procimages.py"
2. การปรับเกณฑ์การเลือกการกำบังสำหรับพื้นที่ที่จะประมวลผล "SL3DS3.adjustthresh.py"
4. ค้นหาและบันทึกจุดที่คล้ายกันในกล้องแต่ละตัว "SL3DS4.calcpxpy.py"
5 คำนวณพิกัด X, Y และ Z ของ point cloud "SL3DS5.calcxyz.py"
ผลลัพธ์เป็นไฟล์ PLY ที่มีข้อมูลพิกัดและสีของจุดบนพื้นผิวของวัตถุ คุณสามารถเปิดไฟล์ PLY ด้วยซอฟต์แวร์ CAD เช่น ผลิตภัณฑ์ Autodesk หรือซอฟต์แวร์โอเพ่นซอร์ส เช่น Meshlab
www.autodesk.com/products/personal-design-a…
ควรติดตั้ง Python 2.7, โมดูล OPENCV และ NUMPY เพื่อเรียกใช้โปรแกรม Python เหล่านี้ ฉันได้พัฒนา GUI สำหรับซอฟต์แวร์นี้ใน TKINTER ซึ่งคุณจะพบในขั้นตอนที่หกด้วยชุดข้อมูลตัวอย่างสองชุด คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้จากเว็บไซต์ต่อไปนี้:
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 มม. และตัดไม้ HDF ขนาด 6 มม. ด้วยเครื่องตัดเลเซอร์)
ควรเชื่อมต่อกล้องสองตัวและโปรเจ็กเตอร์เข้ากับคอมพิวเตอร์ที่มีเอาต์พุตวิดีโอสองรายการ เช่น คอมพิวเตอร์โน้ตบุ๊ก และหน้าจอโปรเจ็กเตอร์ควรกำหนดค่าเป็นส่วนขยายสำหรับเดสก์ท็อปของ Windows หลัก คุณสามารถดูรูปภาพของกล้อง โปรเจ็กเตอร์ และขาตั้งได้ที่นี่ ไฟล์รูปวาดพร้อมสำหรับการตัดแนบมาในรูปแบบ SVG
โปรเจ็กเตอร์นี้เป็นรุ่น Infocus LP330 (ความละเอียดดั้งเดิม 1024X768) โดยมีข้อกำหนดดังต่อไปนี้ ความสว่าง:650 Lumens Color Light Output:**คอนทราสต์ (เปิด/ปิดเต็มที่):400:1 Auto Iris:ไม่มีความละเอียดดั้งเดิม:1024x768 อัตราส่วนภาพ:4:3 (XGA) โหมดวิดีโอ:**โหมดข้อมูล:สูงสุด 1024x768 กำลังไฟสูงสุด:200 วัตต์ แรงดันไฟฟ้า:100V - 240V ขนาด(ซม.) (สูง x กว้าง x ลึก):6 x 22 x 25 น้ำหนัก:2.2 กก. อายุหลอดไฟ(เต็มกำลัง): 1, 000 ชั่วโมง ประเภทหลอดไฟ:UHPLกำลังไฟของหลอดไฟ:120 วัตต์ ปริมาณหลอดไฟ:1 ประเภทจอภาพ:DLP 2 ซม. (1) เลนส์ซูมมาตรฐาน:1.25:1 โฟกัส:ระยะการโยนด้วยมือ (ม.): 1.5 - 30.5 ขนาดภาพ(ซม.):76 - 1971
โปรเจ็กเตอร์วิดีโอนี้ใช้เพื่อฉายรูปแบบแสงที่มีโครงสร้างบนวัตถุที่จะสแกน รูปแบบที่มีโครงสร้างประกอบด้วยแถบแสงสีขาวแนวตั้งและแนวนอนที่บันทึกไว้ในไฟล์ข้อมูล และเว็บแคมจะจับแถบที่บิดเบี้ยวเหล่านั้น
ควรใช้กล้องที่สามารถควบคุมซอฟต์แวร์ได้ เนื่องจากคุณจำเป็นต้องปรับโฟกัส ความสว่าง ความละเอียด และคุณภาพของภาพ เป็นไปได้ที่จะใช้กล้อง DSLR กับ SDK ที่แต่ละยี่ห้อจัดเตรียมให้
ประกอบและทดสอบดำเนินการในโคเปนเฮเกน Fablab ด้วยการสนับสนุน
ขั้นตอนที่ 4: ทดลองกับสแกนเนอร์
สำหรับการทดสอบระบบ ได้ใช้ของเล่นปลา และคุณสามารถเห็นภาพที่จับได้ ไฟล์ที่จับภาพทั้งหมดและคลาวด์จุดส่งออกรวมอยู่ในไฟล์แนบ
คุณสามารถเปิดไฟล์ PLY point cloud ด้วย Meshlab:
meshlab.sourceforge.net/
ขั้นตอนที่ 5: ผลการสแกนอื่นๆ
คุณสามารถดูการสแกนใบหน้ามนุษย์และการสแกน 3 มิติของผนังได้ที่นี่ มีจุดผิดปกติอยู่เสมอเนื่องจากการสะท้อนหรือผลลัพธ์ของภาพที่ไม่ถูกต้อง
ขั้นตอนที่ 6: GUI สแกนเนอร์ 3 มิติ
สำหรับการทดสอบซอฟต์แวร์สแกน 3 มิติในขั้นตอนนี้ ฉันเพิ่มชุดข้อมูลสองชุด ชุดแรกคือการสแกนปลา และอีกชุดหนึ่งเป็นเพียงผนังระนาบเพื่อดูความถูกต้องของซอฟต์แวร์ เปิดไฟล์ ZIP และเรียกใช้ SL3DGUI.py สำหรับขั้นตอนการตรวจสอบการติดตั้ง 2 ส่งข้อความไปที่กล่องจดหมายของฉันที่นี่สำหรับซอร์สโค้ดทั้งหมด
สำหรับการใช้ชิ้นส่วนสแกน 3 มิติ คุณต้องติดตั้งกล้องสองตัวและโปรเจ็กเตอร์ แต่สำหรับส่วนอื่นๆ ให้คลิกที่ปุ่ม สำหรับการทดสอบข้อมูลตัวอย่าง ให้คลิกที่กระบวนการก่อน ตามด้วยขีดจำกัด การจับคู่แบบสเตอริโอ และสุดท้ายคือชี้คลาวด์ ติดตั้ง Meshlab เพื่อดู point cloud
meshlab.sourceforge.net/
แนะนำ:
DIY GPS Tracker --- แอปพลิเคชั่น Python: 5 ขั้นตอน (พร้อมรูปภาพ)
DIY GPS Tracker --- แอปพลิเคชั่น Python: ฉันเข้าร่วมกิจกรรมปั่นจักรยานเมื่อสองสัปดาห์ก่อน เสร็จแล้วก็อยากเช็คเส้นทางและความเร็วที่ขี่ในตอนนั้น น่าเสียดายที่มันไม่ประสบความสำเร็จ ตอนนี้ฉันใช้ ESP32 เพื่อสร้างตัวติดตาม GPS และฉันจะใช้มันเพื่อบันทึกเส้นทางการปั่นจักรยานของฉัน
สแกนเนอร์ RFID อย่างง่ายใช้แบตเตอรี่ (MiFare, MFRC522, Oled, Lipo, TP4056): 5 ขั้นตอน
Simple RFID Scanner Battery Powered (MiFare, MFRC522, Oled, Lipo, TP4056): ในคำแนะนำนี้ ฉันแสดงให้คุณเห็นว่าฉันสร้างเครื่องอ่าน RFID UID แบบง่าย ๆ ที่อ่าน UID ของการ์ด Mifare RFID ได้อย่างไร โปรแกรมค่อนข้างง่ายและบนเขียงหั่นขนม ผู้อ่านถูกสร้างขึ้นอย่างรวดเร็ว จากนั้นฉันก็บัดกรีมันทั้งหมดบนแผ่นกระดานที่สมบูรณ์แบบ และฉันออกแบบ
MIDI Drum Kit บน Python และ Arduino: 5 ขั้นตอน (พร้อมรูปภาพ)
MIDI Drum Kit บน Python และ Arduino: ฉันต้องการซื้อชุดกลองมาตั้งแต่เด็ก ย้อนกลับไปในตอนนั้น อุปกรณ์ดนตรีทั้งหมดไม่มีแอปพลิเคชันดิจิทัลทั้งหมด เนื่องจากเรามีอยู่มากมายในปัจจุบัน ดังนั้นราคาและความคาดหวังจึงสูงเกินไป ล่าสุดผมตัดสินใจซื้อค
สแกนเนอร์ 3 มิติขั้นพื้นฐานสำหรับการทำแผนที่ 3 มิติแบบดิจิทัล: 5 ขั้นตอน
เครื่องสแกน 3 มิติขั้นพื้นฐานสำหรับการทำแผนที่ 3 มิติแบบดิจิทัล: ในโครงการนี้ ผมจะอธิบายและอธิบายพื้นฐานพื้นฐานของการสแกน 3 มิติและการสร้างใหม่ ซึ่งใช้เป็นหลักในการสแกนวัตถุกึ่งระนาบขนาดเล็ก และการดำเนินการดังกล่าวสามารถขยายไปถึงระบบการสแกนและการสร้างใหม่ได้ NS
DIY "PC Usage Meter ROG Base" โดยใช้ Arduino และ Python: 5 ขั้นตอน (พร้อมรูปภาพ)
DIY "เครื่องวัดการใช้งานพีซี ROG Base" โดยใช้ Arduino และ Python: ************************************* +ก่อนอื่น คำแนะนำนี้เขียนขึ้นโดยผู้ที่ไม่ใช่เจ้าของภาษาอังกฤษ…… ไม่ใช่ศาสตราจารย์ภาษาอังกฤษ ดังนั้นโปรดแจ้งข้อผิดพลาดทางไวยากรณ์ก่อนที่จะล้อเลียนฉัน:p +และโปรดอย่าเลียนแบบ