O programa a seguir, isola cada cor RGB de uma imagem, além disso, ele isola os valores CMYK somando os RGB, deixa a imagem com tons de cinza(informando o mesmo valor para cada cor RGB), inverte (subtraindo-255 de cada cor), cria uma imagem em tons de cinza usando uma média ponderada e finalmente, adiciona uma variável que mexe no brilho da imagem.
O Código:
PImage imgOriginal;
PImage imgCopia = createImage(320, 240, RGB);
PImage imgCopia2 = createImage(320, 240, RGB);
PImage imgCopia3 = createImage(320, 240, RGB);
PImage imgCopia4 = createImage(320, 240, RGB);
PImage imgCopia5 = createImage(320, 240, RGB);
PImage imgCopia6 = createImage(320, 240, RGB);
PImage imgCopia7 = createImage(320, 240, RGB);
PImage imgCopia8 = createImage(320, 240, RGB);
PImage imgCopia9 = createImage(320, 240, RGB);
PImage imgCopia10 = createImage(320, 240, RGB);
float b2 = 100;
float bri = b2*2;
float g = 0;
float b = 0;
float r;
int pos;
void setup() {
size(1280, 2000);
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = blue(imgOriginal.pixels[pos]);
imgCopia4.pixels[pos] = color(0, r, r);
}
}
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = red(imgOriginal.pixels[pos]);
imgCopia.pixels[pos] = color(r, 0, 0);
}
}
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = blue(imgOriginal.pixels[pos]);
imgCopia3.pixels[pos] = color(0, 0, r);
}
}
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = green(imgOriginal.pixels[pos]);
imgCopia2.pixels[pos] = color(0, r, 0);
}
}
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = green(imgOriginal.pixels[pos]);
imgCopia5.pixels[pos] = color(r, r, 0);
}
}
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = green(imgOriginal.pixels[pos]);
imgCopia6.pixels[pos] = color(r, 0, r);
}
}
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = green(imgOriginal.pixels[pos]);
imgCopia7.pixels[pos] = color(r, r, r);
}
}
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = green(imgOriginal.pixels[pos]);
g = green(imgOriginal.pixels[pos]);
b = blue(imgOriginal.pixels[pos]);
imgCopia8.pixels[pos] = color(255-r,255-g,255-b);
}
}
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = green(imgOriginal.pixels[pos]);
imgCopia9.pixels[pos] = color(r+0.3,r+0.59,r+0.11);
}
}
imgOriginal = loadImage("original.jpg");
for (int x = 0; x < 320; x++) {
for (int y = 0; y < 240; y++) {
pos = y * 320 + x;
r = red(imgOriginal.pixels[pos]);
g = green(imgOriginal.pixels[pos]);
b = blue(imgOriginal.pixels[pos]);
imgCopia10.pixels[pos] = color(r+bri,g+bri,b+bri);
}
}
}
void draw() {
noTint();
image(imgOriginal, 0, 0);
image(imgCopia, 320, 0);
image(imgCopia2, 640, 0);
image(imgCopia3, 960, 0);
image(imgCopia4, 0, 240);
image(imgCopia5, 320, 240);
image(imgCopia6,640, 240);
image(imgCopia7,960, 240);
image(imgCopia8,0, 480);
image(imgCopia9,320, 480);
image(imgCopia10,640, 480);
}

Nenhum comentário:
Postar um comentário