Gambar full color dengan 3 warna |
Gambar tanpa warna hijau |
PImage img;
void setup(){ img = loadImage("img.jpg"); size(img.width, img.height); }
image(img,0,0);
Masukkan logika
for(int x = 0; x < img.width; x++){ for(int y = 0; y < img.height; y++){
Yang berguna untuk mendapatkan banyaknya pixel yang ada pada gambar tersebut. Kemudian masukkan script berikut untuk menghitung nilai pada gambar
color oldColor = img.get(x,y);
Buat variabel untuk masing-masing warna dalam bentuk integer, karena data warna berupa angka.
int redValue, greenValue, blueValue;
Setelah itu hitung masing-masing nilai warna yang ada dari gambar dengan rumus sebagai berikut.
redValue = (oldColor >> 16) & 0xFF; greenValue = (oldColor >> 8) & 0xFF; blueValue = oldColor & 0xFF;
Setelah nilai masing-masing warna diketahui, selanjutnya saya akan menghilangkan warna biru apabila nilai dari warna biru kurang dari 155. Berikut script yang berfungsi untuk menghilangkan warna biru yang memiliki nilai kurang dari 155
if(blueValue > 155){ color newColor = color(redValue,greenValue,0); img.set(x,y, newColor);
Hasil dari script diatas jika tidak ada error adalah sebagai berikut
menghilangkan warna biru dengan nilai kurang dari 155 |
Masih tampak beberapa warna biru yang agak gelap, sedangkan warna biru terang tidak tampak. Karena semakin kecil nilai warna, maka warna akan tampak semakin muda. Oleh karena itu ketika warna memiliki nilai maksimal 255 maka warnanya tua. Bagi yang masih saja menemukan error bisa mencoba contoh script lengkapnya sebagai berikut
PImage img; void setup(){ img = loadImage("img.jpg"); size(img.width, img.height); } void draw(){ image(img,0,0); for(int x = 0; x < img.width; x++){ for(int y = 0; y < img.height; y++){ //ambil pixel color oldColor = img.get(x,y); //hitung nilai abu2 int redValue, greenValue, blueValue; //removeBlue = 0; redValue = (oldColor >> 16) & 0xFF; greenValue = (oldColor >> 8) & 0xFF; blueValue = oldColor & 0xFF; if(blueValue > 155){ color newColor = color(redValue,greenValue,0); img.set(x,y, newColor); } } } }
Semoga apa yang saya tuliskan tersebut dapat bermanfaat buat yang membaca. Mohon koreksinya jika ada yang salah dari tulisan saya tersebut.
Leave a Comment