Допустим, у меня есть изображение, подобное этому (на самом деле у меня их много, но давайте будем простыми) пример изображения и я бы хотел заменить цвет фона (этотот, который не дорог) с зеленым цветом.
Для этого мне нужно будет перебрать все пиксели на карте и заменить те, которые соответствуют цвету, который я хочу удалить.
Но, как вы можете подумать, мое изображение не такое простое, как картинка 256x256, но оно немного больше, оно составляет 1440 пикселей, и падение производительности значительно.
Как бы я заменил все ненужные пиксели, не просматривая всепикселей.
Я работаю с Processing 3 - Java (Android) и сейчас использую этот фрагмент кода:
for (x = 0; x < img.width; x++){
for (int y = 0; y < img.height; y++) {
//Color to transparent
int index = x + img.width * y;
if (img.pixels[index] == -1382175 || img.pixels[index] == 14605278 || img.pixels[index] == 16250871) {
img.pixels[index] = color(0, 0, 0, 0);
} else {
img.pixels[index] = color(map(bright, 0, 255, 64, 192));
}
}
}