Virtuella 3D Imaging (3 / 6 steg)

Steg 3: Kodning: fånga bilder



Kopiera och spara denna kod i den tomma filen som du sparat tidigare.

Kör det här programmet endast i Java läge inuti IDE, < br > / / inte på Processing.js (webbläge)! < /p >< p > import processing.video.*; < /P >< p > PFont teckensnitt;
Sträng msg = "Klicka när du är klar!"; < /p >< p > fånga cam; fångar bilder från kameran
int ljusstyrka = 150; standard ljusstyrka < /p >< p > PImage img;
PImage X[] = ny PImage [360];
PImage Y [] = ny PImage [360]; < /p >< p > int arr = 0, c = 0; //arr lagrar klick och c matrisen, index
booleska start = false; / / kontroller fånga < /p >< p > void setup() {
storlek (640, 480);

Font = loadFont("CopperplateGothic-Bold-48.vlw"); Ersätt teckensnitt med ditt valda teckensnittet. Ta med extension .vlw
textFont (teckensnitt, 20);
fyllning (0, 0, 0); Ange färg i RGB-format

cam = nya fånga (detta, 640, 480, 30); Ställ in kameraupplösningen till 640 x 480 och frameRate till 30fps
cam.start(); Aktivera kameran
} < /p >< p > void draw() {
om (cam.available () == true & & arr < 3) //cam.avaialbe() kontrollerar om det finns eventuella byte finns att läsa från kamera
Kontrollera också om antalet klick inte överstiger 2
{
cam.Read(); fånga imagees
}
IMG = cam; Spara bild från kameran i variabeln
bild (cam, 0, 0); Visa kamerabild på fönster
Brighten(); ljusare bild för bättre synlighet

IF(start)
{
IF(arr == 1) //check om användaren har klickat på en gång
{
X [c] = get(); fånga skärmen
println ("X" + c + "sparade"); //display status i konsolen
c ++; uppdatera index

}
IF(arr == 2) //checked om användaren har klickat två gånger
{
Y [c] = get(); fånga skärmen
println ("Y" + c + "sparade"); statusen visas i konsolen
c ++; uppdatera index
}
}
IF(arr == 3) //check om användaren har klickat på tre gånger
{
saveImages (X, "X"); spara bilder uppsättning X till datamappen
saveImages (Y, "Y"); spara bilder uppsättning Y till datamappen
Arr ++; uppdatera klicka så sparas inte upprepas
MSG = "Gjort!"; Visa status
}
IF(c>359) {start = false; msg = "Klicka när du är klar";} //check om antalet bilder som tagits högst matrisstorlek, dvs, 360
text (msg, bredd/2-80, höjd-20); Visa krävs-meddelanden
}
void saveImages (PImage [pic], sträng ini)
{
för (int jag = 0; jag < 360; i ++) //loop löper 360 gånger
pic[i].Save(ini+i+".png"); PImage_Variable.save("nameOfFile") sparar bilder
} < /p >< p > void mousePressed() //called när musknapparna trycks
{
MSG = ""; tydliga texten på skärmen så att texten inte sparas i bilder
Arr ++; uppdatera antalet klick
c = 0; återställa vektorindex
Start = sant; att börja fånga
}
void keyPressed() / / kallas när tangentbord knappar trycks
{
ljusstyrka variabel lagrar av ljusstyrka
om (nyckel == "w") ljusstyrka ++; Tryck på "w" att öka intensiteten
annars om (nyckel == 's ") ljusstyrka--; Press' att minska ljusstyrka
IF(Brightness<0) ljusstyrka = 0; undvika onödiga minskning
}
void Brighten()
{
loadPixels(); < /P >< p > / / vi måste också uppmana loadPixels() PImage eftersom vi kommer att läsa dess pixlar. img.loadPixels();
för (int x = 0; x < img.width; x ++) {
för (int y = 0; y < img.height; y ++) {< /p >< p > / / beräkna 1D pixel plats
int loc = x + y*img.width; < /p >< p > / / få R, G, B värden från bilden
flyta r = röd (img.pixels[loc]);
flyta g = grön (img.pixels[loc]);
flyta b = blå (img.pixels[loc]); < /p >< p > / / beräknar vi en multiplikator, från 0,0 till 8,0 baserat på mouseX position.
Den multiplikatorn ändrar RGB-värdet för varje pixel.
flyta adjustBrightness = ((float) ljusstyrka / bredd) * 8.0;
r * = adjustBrightness;
g * = adjustBrightness;
b * = adjustBrightness; < /P >< p > / / The RGB-värden är begränsade mellan 0 och 255 innan sätts som en ny färg.
r = constrain(r,0,255);
g = constrain(g,0,255);
b = constrain(b,0,255); < /P >< p > / / gör en ny färg och ange pixel i fönstret
färg c = color(r,g,b);
pixlar [loc] = c;
}
}
updatePixels();
} < /p >

Nu i text-filen du sparade, anta att du har följande uppgifter:

namn = myCamera, storlek = X x Y, fps = F

I funktionen setup(), hitta raden:

storlek (640, 480);

Ändra det och ange dina värden så här:

storlek (X, Y);

Sedan hitta raden:

cam = nya fånga (detta, 640, 480, 30); < br >

Här gör förändringarna som detta och ange egna värden som denna:

cam = nya fånga denna, X, Y, F.

Nu kan du ta bort textfilen och du behöver inte komma ihåg alla data.

Kommentarerna beskriva delen av arbetet av koden.

Detta är vad som händer:

  1. Fånga från kamera
  2. Ändra ljusstyrka enligt användarindata.
  3. Öka ljusstyrkan
  4. Visa bilden på fönster
  5. Om användaren har klickat på en gång, lagra de nästa 360 bilderna i matrisen X
  6. Om användaren har klickat två gånger, lagra de nästa 360 bilderna i matrisen Y
  7. Om användaren har klickat på tre gånger, spara bilderna lagras i matriser X och Y i datorn i png-format.

Denna kod hjälper dig att fånga det nödvändiga antalet bilder och spara den i png-format.

Du kan även hämta filen Virtual3D.rar. Den innehåller alla nödvändiga kod och data filer krävs.

Se Steg
Relaterade Ämnen

Interaktiva virtuella spel för barnens födelsedagskalas

någonsin tittat på en Wii eller Xbox spel och tänkte "Jag önskar jag kunde göra ett spel som mina barn skulle vilja spela". Tja, detta instructable visar dig hur. Vi börjar med begreppet spelet innan spel design, maskinvara och inbyggd programva...

Hur du skapar ett Ubuntu virtuella maskinen med VirtualBox (Mac)

Följande instruktioner kan du skapa en Ubuntu virtuella maskinen. De har skapats speciellt för en Mac-dator, men är i huvudsak desamma för Windows. Som du följer instruktionerna, vill du se de har anpassats så att även en nybörjare kan slutföra denna...

Blir Tony Stark: Mobil virtuell verklighet Setup med språng Motion

Hur många av er har velat använda händerna och leta naturligt utan att använda din mus, tangentbord och skärm? Tja, idag kommer jag visa dig hur du använder en telefon, hoppa rörelse, och Virtuell verklighet glasögon för att skapa din egen värld.Varf...

En virtuell Gallery på Pendleton Center för konst

genom en gemensam ansträngning från Pendleton centrum för konst (PCA) och området lärare i Pendleton, Oregon, följande PCA virtuella studiebesök programmet presenteras som en möjlighet att involvera eleverna i konstutbildning och inspirera en varakti...

Hur man gör en virtuell maskin för Linux på Windows med hjälp av VirtualBox

denna video kommer att lära dig om hur man gör en virtuell maskin för din bärbara dator med hjälp av VirtualBox.Berätta om den här videon var bra eller inte. : DFörresten, skapades denna video för uppfyllandet av vår grupps krav i ett dator-relaterad...

Installera en enkel virtuell maskin på linux.

Ibland kanske du vill köra program utan att använda en annan dator. Vad du kan göra inrättas ett slags låtsas eller en dator i en dator. Låtsas datorn kallas en virtuell maskin, eftersom det kommer att bli som om du använder birtually en annan dator....

3D-visningen och virtuell verklighet Headset som Oculus Rift och Google kartong, för Ipod Touch och liknande storlek smarta telefoner.

Låt oss göra en 3D-visningen och virtuell verklighet Headset för spel eller för att visa 3D sida vid sida bilder och 3D SBS videor med hjälp av en IPOD TOUCH eller en SMARTPHONE (med skärm storleken upp till 4 eller 4,5 inches).Detta kan också använd...

Grundläggande (kvalitativa) användning av en termisk Imager.

Ah! En termisk bild av min morgon kopp te. Bilden visar värme som alstras inte det? Jag tog den bilden med min söka termisk XR kamera. Här en post nivå mikrobolometer, eller lägga i personens villkor: en termisk imager.Jag ansåg det nödvändigt att po...

Grunderna i Thermal Imaging

Om du någonsin velat ha "värma sensing vision", inte leta längre! Termiska kameror blir billigare och enklare att använda, vilket betyder att de är mer dokumenterade och tillgängliga för hobbyister. I detta Instructable, ska jag ge en introdukti...

FISTO™ - näve monterade virtuell verklighet tangentbord & mus

Använda ett tangentbord och mus för att navigera runt i virtuell verklighet är besvärligt på best. Fumla runt blint och knackar musen eller tangentbordet i MounatinDew drycker eller öppna Doritos väskor är ett konstant problem. Jag föredrar att använ...

Virtuella graffiti

jag har sett några virtuella graffiti system på webben men kunde inte hitta någon information på hur man gör en (dock inte se sista länksidan). Jag trodde det skulle vara bra för min graffiti workshops, så jag gjorde en själv och har publicerat allt...

Schlieren Imaging: Hur du se luftflöde!

Detta projekt dokumenterar den konstruktion, vetenskap och tillämpningen av en Schlieren aparatus. Kort sagt, utnyttjar ett Schlieren system rektorn för refraktion, och några smarta optik för visualisering av skillnader i täthet av transparent media....

Multi-sensorisk virtuell verklighet erfarenhet

Med hjälp av Morton Heilig 1957 uppfinning, "Mord," som en källa för inspiration, har jag utvecklat en DIY virtuell verklighet plattform.Med möjlighet till 360 grader av utforskning, kan det tyckas märkligt att design runt en fast position, men...

Installera alla windows OS av en virtuell drivrutin

Människor tenderar att hitta DVD-skivor etc att installera windows eller penna driva men inte veta att det kan göras med bara datorn och filen setup.iso och detta är 100% säker och snabb.Steg 1: kravEn dator med någon Windows OS installeratPower ISO...

Förvandla din IPhone emballering Box till en virtuell verklighet Headset

Låt oss gå DIY. Här är ett enkelt och elegant sätt att förvandla alla behållare till ett vr headset.Steg 1: Använd dessa materialI denna tutorial använder vi iPhone emballering box. Du kan också använda någon liknande tvådelad låda som passar din tel...

DIY virtuell verklighet Skateboard erfarenhet med Arduino och Google kartong

Detta är ett riktigt roligt och enkelt projekt som kan göras ungefär en timme. På botten av skateboard är en accelerometer/gyro med en Arduino ombord som överför kantiga rörelse i styrelsen via bluetooth till en liten virtuell verklighet spel jag gjo...

Visual Basics virtuell arbetsmiljö / operativsystem

detta är en post för ungdom tävling gör att lära och det finns några frågor jag ska svara.Vad gjorde du: Jag gjorde ett virtuellt operativsystem eller arbetsmiljö med hjälp av Visual BasicsHur gjorde du det: Ja det är vad den instructable är för.Där...

Ansluta till den virtuella Computing Lab (VCL)

Välkommen till de virtuella Computing Lab installationsanvisningarna.Följ stegen nedan för att få anslutas till VCL och börja ditt lab uppdrag.Steg 1: Kontrollera din webbläsare Det rekommenderas att du använder den senaste versionen av Mozilla Firef...

Installera Windows genom att använda virtuella en enhet

Först konvertera din windows-programvara till .iso-format2. du måste ha någon av dessa installerat i din PC daemon tools, Power iso eller alkohol 120% / 50%3. rätt ISO-fil Klicka på mount till4. här väljer du vilken virtuell enhet tillgänglig på dato...