Kraf

Cara Mencipta Webcam Kawalan Pemprosesan Dengan Kesan Foto & Hamparan

Bolehkah Duit Dicetak Dengan Banyak Supaya Negara Menjadi Kaya

Bolehkah Duit Dicetak Dengan Banyak Supaya Negara Menjadi Kaya

Isi kandungan:

Anonim

Panduan Instructables ini akan memberikan arahan langkah demi langkah tentang bagaimana untuk kod untuk webcam kawalan pemprosesan yang mempunyai kesan foto pada imej dan lapisan logo. Penyelesaian akhir adalah dinding berjubin foto diposting yang dialirkan langsung dari webcam.
Untuk contoh ini, overlay yang digunakan adalah logo Blue Moon untuk menggambarkan tikar bir peribadi, yang dijubing untuk mencipta logo fotomosaik Blue Moon.

Bekalan:

Langkah 1: Ini Adalah Coding untuk Pemprosesan, Dengan Penerangan Setiap Langkah

import processing.video. *; // arahan ini memberitahu pemprosesan untuk menggunakan compouter
int w = 640; // dimensi ini ialah lebar skrin
int h = 480; // dimensi ini adalah ketinggian skrin
int fps = 60; // ini menunjukkan kadar bingkai webcam akan dipaparkan
int i = 0; // ini menetapkan kaunter (digunakan kemudian dalam lakaran) hingga 0 pada permulaannya
Img PImage; // Kod-kod img ini mewakili 8 imej berjubin di sekeliling cam, dan ke-9 adalah sekeliling gambar
PImage img2;
PImage img3;
PImage img4;
PImage img5;
PImage img6;
PImage img7;
PImage img8;
PImage img9;
Tangkap cam;
batal persediaan ()
{
saiz (screen.width, screen.height, P3D); // Ini menetapkan dimensi paparan
frameRate (fps); // ini menggunakan set fps sebelum ini
cam = Capture baru (ini, w, h); // ini memberitahu cam untuk menangkap skala penuhnya
}
batal unduh () // permulaan lakaran paparan
{
jika (cam.available () == true) {// arahan ini memberitahu lakaran untuk membaca skrin
cam.read ();
img = loadImage ("person-1.tif"); // memuatkan imej-imej yang disediakan dengan tag yang dibuat lebih awal
img2 = loadImage ("person-2.tif");
img3 = loadImage ("person-3.tif");
img4 = loadImage ("person-4.tif");
img5 = loadImage ("person-5.tif");
img6 = loadImage ("person-6.tif");
img7 = loadImage ("person-7.tif");
img8 = loadImage ("person-8.tif");
img9 = loadImage ("bluemoon_2.png");
}
imej (cam, lebar / 3, ketinggian / 3, lebar / 3, ketinggian / 3); // ini menetapkan kamera untuk dipaparkan di tengah-tengah skrin, menggunakan ketiga untuk mengedarkannya

warna (17);
noTint ();
imej (img, 0, 0, lebar / 3, ketinggian / 3); // ini menetapkan imej dalam jubin arounf skrin menggunakan ketiga, dan beberapa kiraan piksel
imej (img9, 0, 0, lebar / 3, ketinggian / 3);
imej (img2, lebar / 3, 0, lebar / 3, ketinggian / 3);
imej (img9, lebar / 3, 0, lebar / 3, ketinggian / 3);
imej (img3, 2 * lebar / 3, 0, lebar / 3, ketinggian / 3);
imej (img9, 2 * lebar / 3, 0, lebar / 3, ketinggian / 3);
imej (img4, 0, 266, lebar / 3, ketinggian / 3);
imej (img9, 0, 266, lebar / 3, ketinggian / 3);
imej (img5, 2 * lebar / 3, 266, lebar / 3, ketinggian / 3);
imej (img9, 2 * lebar / 3, 266, lebar / 3, ketinggian / 3);
imej (img6, 0, 532, lebar / 3, ketinggian / 3);
imej (img9, 0, 532, lebar / 3, ketinggian / 3);
imej (img7, lebar / 3, 532, lebar / 3, ketinggian / 3);
imej (img9, lebar / 3, 532, lebar / 3, ketinggian / 3);
imej (img8, 2 * lebar / 3, 532, lebar / 3, ketinggian / 3);
imej (img9, 2 * lebar / 3, 532, lebar / 3, ketinggian / 3);
imej (img9, lebar / 3, 266, lebar / 3, ketinggian / 3);

jika (keyPressed == true) {// menyediakan picu untuk kamera untuk mengambil foto
jika (kunci == 'a') {// pemicu adalah kunci 'a'
penapis (BLUR, 3); // imej kemudian kabur
penapis (POSTERIZE, 16); // dan kemudian poster
jika (i <8) {// ini memberitahu kaunter bahawa jika ia kurang daripada 8 …
i ++; / / maka ia harus menambah nombor consectuvie
}
lain i = 1; // ini menceritakannya untuk kembali kepada 1 setelah mencapai 8
PImage img = get (lebar / 3, ketinggian / 3, lebar / 3, ketinggian / 3); // ini memberitahu pemprosesan bahagian bahagian skrin untuk menyelamatkan apabila 'a' ditekan
img.save ("person -" + i); // ini menggunakan nombor 'i' yang telah disebut sebelum menyimpan imej yang ditangkap
}
}
}
// pengekodan akan kelihatan seperti gambar di bawah apabila disalin dan disisipkan ke pemprosesan

Langkah 2: Webcam Berakhir Dengan Kesan Foto dan Hamparan Logo

Pengekodan tersembunyi untuk webcam, dengan logo bulan biru di atas
pengekodan:
import processing.video. *;
int w = 640;
int h = 480;
int fps = 25;
int i = 0;
Img PImage;
PImage img2;
PImage img3;
PImage img4;
PImage img5;
PImage img6;
PImage img7;
PImage img8;
PImage img9;
Tangkap cam;
batal persediaan ()
{
saiz (screen.width, screen.height, P3D);
frameRate (fps);
cam = Capture baru (ini, w, h);
}
batal undian ()
{
/ drop biru bulan logog di sini
jika (cam.available () == true) {
cam.read ();
img = loadImage ("person-1.tif");
img2 = loadImage ("person-2.tif");
img3 = loadImage ("person-3.tif");
img4 = loadImage ("person-4.tif");
img5 = loadImage ("person-5.tif");
img6 = loadImage ("person-6.tif");
img7 = loadImage ("person-7.tif");
img8 = loadImage ("person-8.tif");
img9 = loadImage ("bluemoon_2.png");
}
imej (cam, lebar / 3, ketinggian / 3, lebar / 3, ketinggian / 3);
warna (17);
noTint ();
imej (img, 0, 0, lebar / 3, ketinggian / 3);
imej (img2, lebar / 3, 0, lebar / 3, ketinggian / 3);
imej (img3, 2 * lebar / 3, 0, lebar / 3, ketinggian / 3);
imej (img4, 0, 266, lebar / 3, ketinggian / 3);
imej (img5, 2 * lebar / 3, 266, lebar / 3, ketinggian / 3);
imej (img6, 0, 532, lebar / 3, ketinggian / 3);
imej (img7, lebar / 3, 532, lebar / 3, ketinggian / 3);
imej (img8, 2 * lebar / 3, 532, lebar / 3, ketinggian / 3);
imej (img9, lebar / 3, 266, lebar / 3, ketinggian / 3);
jika (keyPressed == true) {
jika (kekunci == 'a') {
penapis (BLUR, 3);
penapis (POSTERIZE, 12);
jika (i <8) {
i ++;
}
lain i = 1;
PImage img = get (lebar / 3, ketinggian / 3, lebar / 3, ketinggian / 3);
img.save ("person -" + i);
}
}
}