Virtuelle 3D-Imaging

6 Schritt:Schritt 1: Bauen Sie den Drehtisch Schritt 2: Einrichten des IDE Schritt 3: Codierung: Aufnahme von Bildern Schritt 4: Codierung: Anzeigen von Bildern Schritt 5: Erstellen Sie das Photo Booth Schritt 6: Führen Sie den Code!

Virtuelle 3D-Imaging

Virtuelle 3D-Imaging

Sich jemals gewünscht, um auf Ihrem großen Bildschirmen anzuzeigen oder zu teilen Ihre Lebens Objekte von allen Seiten? In normalen Bildern, können wir nur einen Teil des Bildes zu sehen von einem bestimmten Winkel. Virtuelle 3D-Bilder liefern eine erstaunliche Erfahrung des Teilens und der Betrachtungsobjekte und Produkte. Dieses Tutorial zeigt Ihnen, wie machen erforderliche Software, um die minimale Anzahl der erforderlichen Bilder zu erfassen und sehen Sie Ihre Aufgabe auf dem Computer von allen Seiten.
DOWNLOADS: Verarbeitung IDE 3.0a5
Link: https://processing.org/download/?processing
Unter der Rubrik: "Pre-Releases" wählen 3.0a5 und downloaden Sie für Ihr Betriebssystem.
TEILELISTE:
Karton mit den Abmessungen: 20 cm x 16 cm x 12 cm Karton 15 cm x 15 cm 10 RPM Gleichstrommotor x1 1,5 V DC Handy x1 x1 USB-LED HD Webcam / Kamera mit Audio-Video zum USB-Kabel x1 White Papers
TOOLS:
Schere Drahtabisolierer Kleber Klebeband
OPTIONAL
Wenn Ihr Motorwelle hat ein Loch in ihm, erhalten Sie eine Schraube für sie mit einem breiten Kopf brauchen.

Schritt 1: Bauen Sie den Drehtisch

  1. Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Alle 15 Artikel anzeigen

    Zuerst schneiden Sie ein 5 cm x 5 cm im Quadrat aus Ihrem Pappe mit einem Loch in der Mitte, so dass die Welle des Motors kann in eng und einfach zu passen. Schneiden Sie 4 wie Quadrate und kleben sie zusammen. Stellen Sie sicher, dass die Löcher übereinander.
    (Optional) Wenn die Motorwelle hat ein Loch in es, ich hinzufügen, eine Schraube mit einem breiten Kopf, als zeigen in den Abbildungen auf festen Sitz.
    Sie können, indem Sie zuerst die Welle in allen 4 Stück und dann zusammenkleben sie sicher davon sein. Auf dieser, wird Ihre Hauptdrehplattform ruhen. Dieser kleine Basis sicherstellt, dass die tatsächliche Basis nicht betrügen, sondern ist immer horizontal zum Boden. In Klebeband auf umliegende Kanten.
    Wenn die Form der Motor nicht mit dem, was in den Bildern (Ich habe ein Getriebe verwendet wird) gezeigt, übereinstimmt, können Sie immer noch eine Vorstellung davon, wie man einen Halter für sich selbst zu bauen. Ziel ist es, die Motorwelle nach oben zu halten. Um den Motor in Position zu halten, fügen Kartonteile an den Stellen, wo der Motor kann schwanken oder fallen.
    Für die Basis des Motorhalter, schneiden Sie einen anderen rechteckigen Karton mit den Abmessungen 14,5 cm x 3 cm. Dann schneiden Sie 10 kleine Stücke von 4 cm x 3 cm. Zeigen und kleben 5 der Stücke an einem Ende. Dann legen Sie den Motor darüber mit mindestens einem Teil hängen und verwenden Sie Klebeband ringsum. Zur Unterstützung von der anderen Seite zu geben, legen Sie die restlichen 5 Kartonteile unterhalb der anderen Seite. Stellen Sie sicher, dass die Motorwelle ist frei und lassen nichts zu berühren. Noch ein Stück Karton, wenn die Welle die Basis berührt.
    Als nächstes legen eine 1,5 V-Zelle einer Seite und einen Schalter auf der anderen Seite. Erstellen Sie eine einfache Ein / Aus-Schaltung, um den Motor ein- und auszuschalten.
    Der Strompfad wird sein: Pluspol der Zelle> Switch> Motor> Minuspol der Zelle
    Schließlich Karton Stück herausgeschnitten von 11,5 cm x 11,5 cm und kleben Sie es auf der kleinen Basis Sie die Motorwelle früher angebracht.

Schritt 2: Einrichten des IDE

  1. Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Nachdem Sie die IDE installiert haben, öffnen Sie sie.
    Speichern Sie zunächst dieser leeren Datei, wohin Sie wollen mit einem beliebigen Namen. Öffnen Sie nun die leere .pde Datei.
    In der Menüleiste finden Sie unter:. Sketch> Import Library> Add-Bibliothek ein neues Applet mit dem Titel "Library Manager" erscheint. In der Kategorie Untermenüs, wählen Sie Video & Vision. Finden Sie die Bibliothek "Video" von der Verarbeitungs Foundation. Installieren Sie es. Nachdem es fertig ist, schließen und neu starten Verarbeitung. Nun, wenn Sie gehen und finden Sie die Videothek, sehen Sie eine Schaltfläche "Entfernen" daneben. Dies sagt Ihnen, dass Sie Ihre Bibliothek erfolgreich installiert haben.
    Nun schließen Sie Ihre Kamera an den Computer an.
    Als nächstes kopieren Sie den folgenden Code:
      importieren processing.video. *;
     Leere setup ()
     {
       println (Capture.list ());  //Capture.list () Gibt ein Array der Liste der verfügbaren Kameras
     } 

    Klicken Sie auf Ausführen und klicken Sie auf Stopp, um die Ausführung des Codes zu stoppen. In der Konsole (der schwarze Bereich in der IDE), sehen Sie eine Liste. Jede Zeile ist in dem folgenden Format: name = "nameOfCamera" size = X x Y, fps = framesPerSecond
    Nun suchen Sie nach einer Zeile, die den Namen Ihrer Kamera und die Abmessungen (in Pixel) des Bildes, das Sie in sein wollen heißt, nach der Größe gegeben und Änderungsrate der Bilder auf dem Bildschirm angezeigt werden, nachdem fps angegeben. Bilder pro Sekunde bedeutet, die Anzahl der Bilder auf dem Bildschirm verändert in 1 Sekunde. Zum Beispiel, wenn fps = 30, 30 Bilder von Ihrer Kamera eingefangen und auf dem Bildschirm in 1 Sekunde angezeigt. So scheint es, wie Sie ein Video ansehen. Sobald Sie die Linie gewählt haben, kopieren Sie diese Zeile in Notepad und speichern Sie es überall. Diese Daten werden später erforderlich. Sie können die Textdatei, die Sie nach dem nächsten Schritt gespeichert löschen.
    Als nächstes gehen Sie zu: Datei> Einstellungen. Ein neues Fenster wird angezeigt. Klicken Sie auf das Kontrollkästchen neben "Steigern Sie maximal verfügbaren Speicher zu ..." auf die Bilder. Der Standard-Speicher beträgt 256 MB. Nun, erhöhen Sie den Speicher auf 1024 MB. Dies geschieht, weil Sie brauchen, um eine große Auswahl von Bildern und für die Speicherung, 256 MB ist unzureichend.
    Schließlich gehen Sie zu: Tools> Font Erstellen Sie ein neues Fenster öffnet sich.. Wählen Sie die gewünschte Schriftart. Einmal mit ihm fertig sind, klicken Sie auf OK. In dem Ort, an dem Sie diese Leercode-Datei gespeichert, werden Sie einen neuen Ordner mit dem Namen "data" wird angelegt und in ihm, erhalten Sie eine .vlw Datei sehen zu finden. Das ist Ihre Font-Datei.

Schritt 3: Codierung: Aufnahme von Bildern

  1. Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Kopieren und Speichern Sie diesen Code in das leere Datei, die Sie zuvor gespeichert haben.
      // Führen Sie dieses Programm nur im Java-Modus innerhalb der IDE, <br> // nicht auf Processing.js (Web-Modus) !! </ p> <p> Import processing.video. *;  </ P> <p> PFont font;
     String msg = "Klicken Sie auf, wenn Sie fertig!"; </ P> <p> Capture-cam;  // Nimmt Bilder von der Kamera
     int Helligkeit = 150;  // Standardhelligkeit </ p> <p> PImage img;
     PImage X [] = new PImage [360];
     PImage Y [] = new PImage [360]; </ p> <p> int arr = 0, c = 0; // Arr speichert die Klicks und c Array, index
     boolean start = false; // prüft Erfassung </ p> <p> Leere setup () {
       Größe (640, 480);
      
       font = Loadfont ("CopperplateGothic-Bold-48.vlw");  // Die Schrift mit der ausgewählten Schriftart ersetzen.  Sie sind der Ausbau .vlw
       textfont (font, 20);
       füllen (0, 0, 0);  // Setzen Schriftfarbe im RGB-Format
      
       cam = new-Capture (this, 640, 480, 30);  // Die Kameraauflösung auf 640x480 und framerate zu 30 Bildern pro Sekunde eingestellt
       cam.start ();  // Aktivieren Sie die Kamera
     } </ P> <p> Leere draw () {
       if (cam.available () == true && arr <3) //cam.avaialbe () prüft, ob es irgendwelche Bytes zur Verfügung, um von der Kamera gelesen
                                          // Überprüfen, auch wenn die Anzahl der Klicks haben 2 nicht überschreiten
       {
         cam.read ();  // Fangen die imagees
       }
       img = Nocken;  // Store Bild von der Kamera in variable
       Bild (cam, 0, 0);  // Anzeige Kamerabild am Fenster  
       Erhellen Sie ();  // Das Bild aufzuhellen für bessere Sichtbarkeit
      
       wenn (Start)
       {
       if (arr == 1) // überprüfen, ob Benutzer hat einmal angeklickt
       {
         X [c] = get ();  // Den Bildschirm zu erfassen
         println ("X" + c + "gerettet"); // Anzeigestatus in der Konsole
         c ++;  // Update index
        
       }
       if (arr == 2) // überprüft, ob der Benutzer doppelt geklickt
       {
         Y [c] = get ();  // Den Bildschirm zu erfassen
         println ("Y" + c + "gerettet");  // Anzeigestatus in der Konsole
         c ++;  // Update index
       }
       }
       if (arr == 3) // überprüfen, ob der Benutzer dreimal geklickt
       {
         saveImages (X ", X");  // Speichern von Bildern eingestellt X um Datenordner
         saveImages (Y, "Y");  // Speichern von Bildern eingestellt Y um Datenordner
         arr ++;  // Update klicken Sie so sparendes Verfahren nicht wiederholt
         msg = "Fertig!";  // Status anzeigen
       }
       if (c> 359) {start = false;  msg = "Klicken Sie, wenn fertig";  } // Überprüfen, ob die Anzahl der aufgenommenen Bilder nicht die Array-Größe nicht überschreiten, dh 360
      Text (msg, Breite / 2-80, Höhe-20);  // Anzeige erforderlichen Nachrichten
     }
     Leere saveImages (PImage pic [], String ini)
     {
       for (int i = 0; i <360; i ++) // Schleife läuft 360 mal
         pic [i] .save (ini + i + "png.");  // PImage_Variable.save ("NameOfFile") speichert Bilder
     } </ P> <p> Leere mouse () // aufgerufen, wenn die Maustasten gedrückt werden
     {
       msg = "";  // Klartext auf dem Bildschirm, so dass der Text nicht in den Bildern gespeichert
       arr ++;  // Update Anzahl der Klicks
       c = 0;  // Array-Index zurücksetzen
       Start = true;  // Erfassung zu beginnen
     }
     nichtig keyPressed () // aufgerufen, wenn Tastatur gedrückt werden
     {
       // Helligkeit Variable speichert die Menge an Helligkeit
       wenn (Taste == 'w') Helligkeit ++;  // Presse 'w' zu erhöhen Helligkeit
       else if (key == 's') brightness--;  // Drücken Sie 's', um die Helligkeit zu verringern
       if (Helligkeit <0) Helligkeit = 0;  // Unnötige Reduktion
     }
     nichtig Brighten () 
     {
        loadPixels ();  </ P> <p> // Wir müssen auch loadPixels () auf dem PImage nennen, da werden wir ihre Pixel gelesen.  img.loadPixels (); 
       for (int x = 0; x <img.width; x ++) {
         for (int y = 0; y <img.height; y ++) {</ p> <p> // Berechne den 1D-Pixelposition
           int loc = x + y * img.width; </ p> <p> // Holen Sie sich die R, G, B-Werte von Bild
           float r = rot (img.pixels [loc]);
           float g = grün (img.pixels [loc]);
           float b = blau (img.pixels [loc]); </ p> <p> // Wir berechnen einen Multiplikator im Bereich von 0,0 bis 8,0 auf Basis mouseX Position. 
           // Das Multiplikator ändert die RGB-Wert jedes Pixels.      
           schweben adjustBrightness = ((float) Helligkeit / Breite) * 8.0; 
           r * = adjustBrightness;
           g * = adjustBrightness;
           b * = adjustBrightness;  </ P> <p> // Die RGB-Werte zwischen 0 und 255, bevor sie als eine neue Farbe festlegen eingeschränkt.      
           r = constrain (r, 0255); 
           g = constrain (g, 0255);
           b = constrain (b, 0255);  </ P> <p> // Stellen Sie eine neue Farbe und setzen Sie Pixel in dem Fenster
           Farbe C = Farbe (r, g, b);
           Pixel [loc] = c;
         }
       }
       updatePixels (); 
     } </ P> 

    Jetzt in der Textdatei die Sie gespeichert, nehme an, Sie haben die folgenden Daten:
    name = myCamera, size = X x Y, fps = F
    In der Funktion Setup (), finden Sie die Zeile:
      Größe (640, 480); 

    Ändern Sie es und geben Sie die Werte wie folgt aus:
      Größe (X, Y); 

    Dann finden Sie die Zeile:
      cam = new-Capture (this, 640, 480, 30); szmtag 

    Hier tun die Änderungen wie diese und geben Sie Ihre eigenen Werte wie folgt aus:
      cam = new Erfassen (this, X, Y, F); 

    Jetzt können Sie die Textdatei zu löschen und Sie nicht brauchen, um alle Daten zu erinnern.
    Die Kommentare beschreiben größten Teil der Arbeit des Codes.
    Dies ist, was passiert:
      Capture von der Kamera Ändern Sie die Helligkeit je nach Benutzereingabe. Erhöhen Sie die Helligkeit Zeigen Sie das Bild auf Fenster Hat der Benutzer einmal angeklickt, werden die nächsten 360 Bilder speichern in dem Feld X Wenn der Benutzer doppelt angeklickt, werden die nächsten 360 Bilder speichern in dem Array Y Wenn der Benutzer dreimal angeklickt wird, speichern die Bilder in den Anordnungen X und Y in den Computer im PNG-Format gespeichert.

    Dieser Code hilft Ihnen, die erforderliche Anzahl der Bilder zu erfassen und speichern sie in png-Format.
    Sie können sogar laden Sie die Datei Virtual3D.rar. Es enthält alle erforderlichen Code und Daten-Dateien erforderlich.

Schritt 4: Codierung: Anzeigen von Bildern

  1. Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Erstellen Sie jetzt eine neue, leere Datei und speichern Sie sie.
    Kopieren Sie den folgenden Code:
      PImage img;  // Speichert imagesint c = 0;  // Speichert Index
     String ini = "X";  // Speichert ursprünglichen Dateinamen
     float zoom = 1;  // Speichert heranWert
     Schwimmwinkel = 0,0;  // Speichert Drehwinkel
     int x = 0, y = 0;  // Koordinaten der Lage des Bildes in Pixeln </ p> <p> Leere setup ()
     {
       Größe (1280, 720);  // Fenstergröße
       frame (30);  // Geschwindigkeit, mit der Bilder auf dem Bildschirm
     }
     Leere draw ()
     {
       Hintergrund (255);  // Bacground Farbe in RGB- 
      
       img = loadimage (ini + c + "png.");  // Name der Image-Datei geladen werden soll
      
       // Anweisungen zum Dreh Bild um den Mittelpunkt:
       übersetzen (Breite / 2, Höhe / 2);  
       drehen (Winkel * TWO_PI / 360);
       übersetzen (-img.width / 2, -img.height / 2);
      
       Skala (Zoom);  // Vergrößern und verkleinern gemäß einer Benutzereingabe
       Bild (img, x, y);  // Das Bild anzuzeigen
     }
     nichtig keyPressed ()
     {
       Schalter (key)
       {
         Fall "a": {  
                    
                      ini = "X";  // X Name der Datei in Satz 1
                      c--;  // Das Bild zu ändern
                      brechen;  
                   }
         Fall "d": {  
                     ini = "X";  // X Name der Datei in Satz 1
                     c ++;  // Das Bild zu ändern
                     brechen;  
                   }
         Fall 'w': {  
                     ini = "Y";  // Y ist der Name der Datei in Satz 2
                     c ++;  // Das Bild zu ändern       
                     brechen;  
                   }
         Fall "s": {  
                     ini = "Y";  // Y ist der Name der Datei in Satz 2
                     c--;  // Das Bild zu ändern
                     brechen; 
                   }
        
         Fall 'i': Winkel ++;  brechen;  // Erhöhung andgle
         Fall 'k': angle--;  brechen;  // Abnahme Winkel
        
         Fall '+': Zoom + = 0,1;  brechen;  // Hineinzoomen
         Fall '-': Zoom- = 0,1;  brechen;  // Rauszoomen
        
         Fall 'j': x ++;  brechen;  // Das Bild nach rechts verschieben
         Fall 'g': x--;  brechen;  // Das linke Bild bewegen
         Fall 'h': Y-;  brechen;  // Das Bild nach oben    
         Fall 'y': y ++;  brechen;  // Das Bild nach unten zu bewegen
       }  
       // Verhindern, dass der Name der Datei entfernt, außerhalb der Reichweite
       if (c <0), c = 0;
       else if (c> 359) c = 359;
     } 

    Die Kommentare beschreiben die Funktionsweise des Codes.
    Mit ihm können Sie einen Viewer, die Sie drehen, zoomen und Ihre jeden Teil Ihres Objektes hilft erstellen.
    Sie können die Datei View3D.pde herunterladen. Es enthält alle erforderlichen Code, den Sie brauchen.

Schritt 5: Erstellen Sie das Photo Booth

  1. Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Virtuelle 3D-Imaging

    Alle 7 Artikel anzeigen

    Verwenden Sie eine Schere, schneiden Sie die obere Abdeckung Ihres Karton. Die geschnittenen Stücke werden nicht geworfen werden. Nun schneiden jede der langen Seite des Kartons. Siehe für welche Seite zu Cut-Bild. Jetzt haben Sie ein kleines Zimmer mit drei Wänden. Verwenden Sie die restlichen Stücke, um den Boden zu decken und sicherzustellen, dass es flach ist.
    Nun decken die Innenseiten mit weißem Papier. Dies ist der Ort, wo Sie Ihren rotierenden Plattform zu halten.
    Verbinden Sie Ihren USB Licht an den USB-Port Ihres Computers und legen Sie das Feld in der Nähe von Ihrem Computer. Als nächstes legen Sie das USB-Licht, so dass das Licht fällt rundum um das Zentrum, in dem das Objekt gehalten werden. Lassen keinen Raum für Schatten über der Plattform und der Kartonwand direkt hinter der Plattform.

Schritt 6: Führen Sie den Code!


  1. Zuerst legen Sie die Drehplattform in der Box. Halten Sie das Objekt in der Mitte der Plattform.
    Als nächstes führen Sie die Bilderfassungscode (den Code in Schritt 4). Positionieren Sie den USB Licht und erhöhen die Helligkeit, so dass der Hintergrund des Objektes ist weiß und nur das Objekt sichtbar ist. Verschieben Sie die Position Ihrer Kamera auf einen geeigneten Winkel und Höhe.
    Einschalten des Motors, um das Objekt zu drehen.
    Klicken Sie einmal irgendwo im Fenster, in dem Sie das Objekt zu sehen. Wenn der Text in der unteren sagt: "Wenn Sie bereit", drehen Sie das Objekt um 90 Grad nach links und klicken Sie erneut.
    Wiederum wird die gleiche Nachricht angezeigt. Nun können Sie abschalten des Motors und entfernen Sie das Objekt. Klicken Sie erneut, und die Bilder werden gespeichert, in dem Sie Ihren Code gespeichert.
    Erstellen Sie einen neuen Ordner mit dem Namen "data" in der gleichen Stelle, wo Sie Ihr Bild sehen Code (den Code in Schritt 5) gespeichert. Innerhalb dieses "data" Ordner, und fügen Sie ihn alle diese Bilder.
    Schließlich führen Sie den Code. Die Anweisungen sind:
    d - rechts
    ein - biegen Sie links ab
    w - auftauchen
    s - ablehnen
    + - Vergrößern
    - - Rauszoomen
    y - nach oben
    h - nach unten bewegen
    g - nach links bewegen
    j - nach rechts bewegen
    i - im Uhrzeigersinn drehen
    k - drehen sich gegen den Uhrzeigersinn
    Sie können die aufgenommenen Bilder verwenden, um GIF-Dateien zu machen.
    Sie können auch den Export des Betrachtungs Code, um eine ausführbare Datei für Windows als auch Linux zu machen und teilen Sie es mit Ihren Freunden. So können Sie Ihre 3-D-Bilder mit Ihren Freunden statt der üblichen Bild, das Sie nur einen Teil eines Objekts sehen lassen zu teilen. Dies kann sinnvoll in den Austausch, was Sie machen, auch kleine Produkte für digitale Anzeigen können.