画像の色を反転する
void setup(){
size(512, 512);
PImage image = loadImage("lena.jpg");
image(image, 0, 0);
loadPixels();
for(int x = 0; x < width; x++){
for(int y = 0; y < height; y++){
color c = pixels[y * width + x];
pixels[y * width + x] = color(255 - red(c), 255 - green(c), 255 - blue(c));
}
}
updatePixels();
}
画像をセピアにする
void setup(){
size(512, 512);
PImage image = loadImage("lena.jpg");
image(image, 0, 0);
loadPixels();
for(int x = 0; x < width; x += 1){
for(int y = 0; y < height; y += 1){
color c = pixels[y * width + x];
float greyScale = (0.30 * red(c) + 0.59 * green(c) + 0.11 * blue(c)) / 255.0;
pixels[y * width + x] = color(255 * greyScale, 74 * (255.0 / 107) * greyScale, 43 * (255.0 / 107) * greyScale);
}
}
updatePixels();
}
画像のコントラストを強める
void setup(){
size(512, 512);
PImage image = loadImage("lena.jpg");
image(image, 0, 0);
loadPixels();
for(int x = 0; x < width; x += 1){
for(int y = 0; y < height; y += 1){
color c = pixels[y * width + x];
pixels[y * width + x] = color(constrast(red(c)), constrast(green(c)), constrast(blue(c)));
}
}
updatePixels();
}
float constrast(float c){
return 127 * sin((c / 255) * PI - HALF_PI) + 128;
}