Как получить пиксельные значения RGB из строковых изображений? .get не работает с imageLoader (Обработка) - PullRequest
2 голосов
/ 22 мая 2019

Я пытаюсь получить значения пикселей из изображений, выбранных случайным образом из папки, каждые 2 секунды.Например, я могу легко получить яркость пикселей от изображения.но не знаю, как получить, когда у меня есть строковые изображения из папки.

Я также пробовал массив изображений, но все еще не мог понять, как получить пиксельные значения RGB

String path = sketchPath("data");
ImageLoader loader;
ImageList list;
Image img;
PImage terrain;
+other data

void setup(){
  loader = new FileImageLoader(this);
  list = loader.start(path);
  img = list.getRandom();
+other data

  void update1(){
      if (img == null) {
    img = list.getRandom();
(error line)    terrain = loadImage(img, "jpg");
    color c = terrain.get(int(p.x), int(p.y));
+other data

Я уже ожидал ошибки в этой строке, но чтобы дать представление о том, что я пытаюсь сделать, я привел это здесь.и ошибка, с которой я сталкиваюсь: «Метод loadImage (String, String) в типе PApplet не применим для аргументов (Image, String)» *

Существуют ли другие способы получения данных пикселей из изображенийвызывается через строку?Или как решить эту проблему?

1 Ответ

0 голосов
/ 22 мая 2019

Метод Image.getImg() дает вам доступ к PImage, который управляется объектом Image.

Используйте .get() и .set() для доступа к пикселям изображения.

Image img;
PImage terrain;

void update1() {

    if (img == null) {

        img = list.getRandom();
        terrain = image.getImg(); // get PImage from Image
        color c = terrain.get(int(p.x), int(p.y)); 

        // [...]
    }
}
...