สารบัญ:
- ขั้นตอนที่ 1: ประเมินความซับซ้อนของงาน
- ขั้นตอนที่ 2: ค้นหาแนวทางที่เหมาะสม
- ขั้นตอนที่ 3: คำนวณ Theta Histogram
- ขั้นตอนที่ 4: คำนวณ Rho Histogram
- ขั้นตอนที่ 5: ค้นหา Central Knot
- ขั้นตอนที่ 6: เลือกจาก 2 ทางเลือก
- ขั้นตอนที่ 7: กำหนดมุมภายนอก
- ขั้นตอนที่ 8: ลองใช้งานจริง
![การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว: 8 ขั้นตอน การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว: 8 ขั้นตอน](https://i.howwhatproduce.com/images/002/image-4045-j.webp)
วีดีโอ: การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว: 8 ขั้นตอน
![วีดีโอ: การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว: 8 ขั้นตอน วีดีโอ: การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว: 8 ขั้นตอน](https://i.ytimg.com/vi/pzkbQeXY9-Q/hqdefault.jpg)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
![การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว](https://i.howwhatproduce.com/images/002/image-4045-1-j.webp)
![การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว](https://i.howwhatproduce.com/images/002/image-4045-2-j.webp)
งานของการสร้าง 3D มักจะเกี่ยวข้องกับการมองเห็นด้วยสองตา หรือคุณอาจย้ายกล้องตัวเดียวไปรอบๆ วัตถุ ในขณะเดียวกัน ถ้าทราบรูปร่างของวัตถุ งานอาจแก้ไขได้จากภาพถ่ายเดียว นั่นคือคุณมีกล้องเพียงตัวเดียวและมันไม่เคลื่อนไหว เรามาดูวิธีการทำทีละขั้นตอนกัน เราจะใช้ Rubik's Cube เพราะมันได้มาตรฐานและมีคุณสมบัติมากมาย อาจถือได้ว่าเป็นวัตถุที่เรียบง่ายและซับซ้อนในเวลาเดียวกัน ดังนั้นแมชชีนวิชั่นจะต้องผ่านอุปสรรคมากมายเพื่อให้งานสำเร็จลุล่วง
ขั้นตอนที่ 1: ประเมินความซับซ้อนของงาน
![ประเมินความซับซ้อนของงาน ประเมินความซับซ้อนของงาน](https://i.howwhatproduce.com/images/002/image-4045-3-j.webp)
![ประเมินความซับซ้อนของงาน ประเมินความซับซ้อนของงาน](https://i.howwhatproduce.com/images/002/image-4045-4-j.webp)
![ประเมินความซับซ้อนของงาน ประเมินความซับซ้อนของงาน](https://i.howwhatproduce.com/images/002/image-4045-5-j.webp)
![ประเมินความซับซ้อนของงาน ประเมินความซับซ้อนของงาน](https://i.howwhatproduce.com/images/002/image-4045-6-j.webp)
ได้อย่างรวดเร็วก่อน งานนี้ง่าย หาปมตรงกลางที่ขอบลูกบาศก์ทั้ง 3 ด้านมารวมกันแล้ววาดขอบเหล่านี้ จากพิกัดของมัน เป็นไปได้ที่จะคำนวณระยะทางจากกล้องและมุมของการหมุน ปัญหาคือไม่มีบรรทัดเหล่านี้ จากภาพด้านซ้าย คุณจะเห็นว่าแต่ละขอบแสดงด้วยเส้นขนาน 2 เส้น นอกจากนี้ ภาพบนขวาแสดงให้เห็นว่าแต่ละส่วนแบ่งออกเป็น 3 ส่วน นอกจากนี้ หากเราใช้รูปแบบต่างๆ ของการแปลง Hough ยอดนิยมซึ่งสามารถตรวจจับส่วนของเส้นตรงได้ มันทำงานโดยมีข้อผิดพลาดบางอย่างซึ่งทำให้การตรวจจับปมตรงกลางเป็นไปไม่ได้ ถ้าปลายไม่ถึงกันก็ไม่มีจุดเดียว หากการตรวจจับเกินจุดสิ้นสุด มันจะดูเหมือนปมตรงกลางขอบตามที่คุณเห็นใน 2 ภาพที่เหลือ
ขั้นตอนที่ 2: ค้นหาแนวทางที่เหมาะสม
![ค้นหาแนวทางที่เหมาะสม ค้นหาแนวทางที่เหมาะสม](https://i.howwhatproduce.com/images/002/image-4045-7-j.webp)
เมื่อรายละเอียดมากเกินไปทำให้อัลกอริธึมที่กำหนดขึ้นใช้ไม่ได้ ก็ถึงเวลาพิจารณาแนวทางความน่าจะเป็น หากเราคำนวณค่าพารามิเตอร์เฉลี่ยของภาพ ข้อผิดพลาดของพวกมันจะลดลงอย่างมากและในทางที่ผิดวิธีจะมีความน่าเชื่อถือมากขึ้น การแปลง Hough มาตรฐานจะไม่แสดงส่วนของเส้น เฉพาะความชันของ theta และระยะทาง rho จากจุดกำเนิดพิกัด พวกเขาสร้างส่วนช่องว่าง Hough ซึ่งแสดงไว้ด้านบน ที่นี่ theta สอดคล้องกับแกนนอน จุดสว่างจะทำเครื่องหมายเส้นที่เป็นไปได้บนภาพ โปรดทราบว่าจุดดังกล่าวหลายแห่งตั้งอยู่เหนือจุดอื่น ไม่น่าแปลกใจที่ภาพของเรามีเส้นขนานหลายเส้น พวกมันมีทีต้าเหมือนกันและโรห์ต่างกัน
ขั้นตอนที่ 3: คำนวณ Theta Histogram
![คำนวณ Theta Histogram คำนวณ Theta Histogram](https://i.howwhatproduce.com/images/002/image-4045-8-j.webp)
มาตรวจหาคลัสเตอร์ดังกล่าวกัน เพื่อจุดประสงค์นี้ เราจะสรุปการอ่านสำหรับจุดทั้งหมดในพื้นที่ Hough ด้วยทีต้าเดียวกัน คุณเห็นฮิสโตแกรมที่สอดคล้องกันในภาพประกอบ หมายเหตุเล็กน้อยเกี่ยวกับการวัด เมื่อคุณทำงานกับรูปภาพในพิกัดพิกเซล แกน X จะไปตามปกติ แต่ Y จะชี้ลงด้านล่าง ดังนั้นที่มาของพิกัดคือมุมซ้ายบน และค่าทีต้าควรวัดจากแกน X ตามเข็มนาฬิกา โปรดทราบว่าการกวาดทีต้าทั้งหมดบนรูปภาพคือ 180 องศา คุณสามารถตรวจสอบได้ว่ายอดเขาหลัก 3 ยอดแสดงถึงความชันที่โดดเด่น 3 จุดบนรูปภาพ
ขั้นตอนที่ 4: คำนวณ Rho Histogram
![คำนวณ Rho Histogram คำนวณ Rho Histogram](https://i.howwhatproduce.com/images/002/image-4045-9-j.webp)
ตอนนี้เราทราบเส้นคู่ขนานหลัก 3 กลุ่มแล้ว เรามาแยกเส้นภายในแต่ละเส้นกัน เราสามารถทำซ้ำแนวทางเดียวกันได้ ลองหาคอลัมน์จากสเปซ Hough ที่สอดคล้องกับหนึ่งพีคบนทีต้าฮิสโตแกรม ต่อไป เราจะคำนวณฮิสโตแกรมอื่นโดยที่แกน X แทนค่า rho และ Y - สรุปการอ่านสำหรับ rho นี้ เห็นได้ชัดว่าผลรวมจะน้อยลง ดังนั้นแผนภูมินี้จึงไม่ราบรื่นนัก อย่างไรก็ตาม พีคสามารถมองเห็นได้ชัดเจน และจำนวน (7) นั้นตรงกับจำนวนเส้นคู่ขนานบนรูปภาพต้นทางทุกประการ น่าเสียดาย ไม่ใช่ทุกแผนภูมิจะสมบูรณ์แบบนัก แต่หลักการนั้นชัดเจน
ขั้นตอนที่ 5: ค้นหา Central Knot
![ค้นหาปมกลาง ค้นหาปมกลาง](https://i.howwhatproduce.com/images/002/image-4045-10-j.webp)
ถ้าเราหาจุดศูนย์กลางบน rho histogram สำหรับแต่ละทีต้า เราจะได้ 3 เส้นซึ่งเป็นสีแดงบนภาพ ทางแยกของพวกเขาเป็นจุดที่จำเป็น
ขั้นตอนที่ 6: เลือกจาก 2 ทางเลือก
![เลือกจาก 2 ทางเลือก เลือกจาก 2 ทางเลือก](https://i.howwhatproduce.com/images/002/image-4045-11-j.webp)
![เลือกจาก 2 ทางเลือก เลือกจาก 2 ทางเลือก](https://i.howwhatproduce.com/images/002/image-4045-12-j.webp)
คุณจะเห็นว่าแต่ละเส้นไปจากจุดศูนย์กลางทั้งสองทิศทาง วิธีการกำหนดครึ่งที่ถูกต้อง? ลองใช้ theta3 กัน สมมติว่าเราใช้ส่วนล่างของบรรทัดนี้ ลองคำนวณอีกช่อง Hough เฉพาะส่วนของรูปภาพจาก 2 เส้นสีเขียวไปที่มุมบนขวาของภาพ จากนั้นสร้างทีต้าฮิสโตแกรมสำหรับมัน คุณเห็นว่าจุดยอดที่สามหายไปอย่างสมบูรณ์ดังนั้นเราจึงได้เลือกที่ถูกต้อง
ขั้นตอนที่ 7: กำหนดมุมภายนอก
![กำหนดมุมภายนอก กำหนดมุมภายนอก](https://i.howwhatproduce.com/images/002/image-4045-13-j.webp)
ตอนนี้เราสามารถใช้พีคแรกและพีคสุดท้ายบน rho histograms เพื่อวาดเส้นสีน้ำเงินที่ตัดขอบสีแดงและทำเครื่องหมายที่มุมที่เหลือ งานได้รับการแก้ไข
ขั้นตอนที่ 8: ลองใช้งานจริง
ภาพประกอบสำหรับคำแนะนำนี้สร้างขึ้นโดยใช้ Perception 1.0 นี่เป็นซอฟต์แวร์ฟรีที่ใช้ OpenCV ซึ่งเป็นไลบรารีที่มีประสิทธิภาพสำหรับการมองเห็นด้วยคอมพิวเตอร์ นอกจากนี้ยังอาจเชื่อมโยงกับ WinNB ซึ่งใช้ใน Instructable อื่นของฉันซึ่งให้ความสามารถในการมองเห็นสำหรับหุ่นยนต์ คุณสามารถดาวน์โหลดทั้งสองโปรแกรมได้จาก nbsite สำหรับการติดตั้ง ให้เรียกใช้ไฟล์ exe ที่ดาวน์โหลดมา หลังจากนั้น คุณสามารถลบออกได้โดยใช้เครื่องมือมาตรฐานของ Windows ไซต์นี้ยังมีแหล่งข้อมูลเกี่ยวกับการมองเห็นคอมพิวเตอร์และหัวข้อที่เกี่ยวข้อง ใน Perception คุณจะพบกับวิธีการที่อธิบายไว้ของการสร้าง 3D เช่นเดียวกับวิธีอื่นๆ อีกมากมาย ข้อดีของโปรแกรมนี้คือมันให้ผลลัพธ์สุดท้ายพร้อมกับข้อมูลระดับกลาง คุณสามารถค้นคว้าว่าคอมพิวเตอร์วิทัศน์ทำงานอย่างไรโดยไม่ต้องเป็นโปรแกรมเมอร์ ในการป้อนข้อมูล แต่ละวิธีได้คัดเลือกตัวอย่างทั่วไปมาเป็นพิเศษ แน่นอน คุณสามารถใช้ของคุณเองได้เช่นกัน เป็นไปได้ที่จะใส่รูปภาพจากไฟล์หรือจากกล้องของคอมพิวเตอร์ โปรดติดต่อฉันหากมีคำถามหรือข้อเสนอแนะ
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
![การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน](https://i.howwhatproduce.com/images/001/image-2360-j.webp)
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
![การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน](https://i.howwhatproduce.com/images/002/image-5374-j.webp)
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
![วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน](https://i.howwhatproduce.com/images/004/image-9009-j.webp)
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
![การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน](https://i.howwhatproduce.com/images/007/image-19534-j.webp)
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
![เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน](https://i.howwhatproduce.com/images/008/image-21644-j.webp)
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง