在我的草图数据文件夹之外的文件夹中加载(处理) [英] Loading in folder outside of my sketch's data folder (processing)

查看:56
本文介绍了在我的草图数据文件夹之外的文件夹中加载(处理)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我敢肯定,对此有一个非常直接的答案……不过我不太清楚.
在我的处理草图的数据文件夹中,有一个名为 test_segments 的文件夹.test_segments 包含一堆图像.
我需要将 test_segments 中的图像加载到我的 PImage 中.
它看起来像这样:http://imgur.com/a/iG3B6
我的代码:

Im sure there is a pretty straight forward answer to this...cant quite figure it out though.
In my processing sketch's data folder, there is a folder named test_segments. test_segments contains a bunch of images.
I need to load an image from test_segments into my PImage.
It looks like this: http://imgur.com/a/iG3B6
My code:

final int len=25;
final float thresh=170;

boolean newDesign=false;
PImage pic;

ArrayList<PImage> imgContainer;
int n=3;

void setup() {  
  size(800, 800, P2D);
  colorMode(RGB, 255);
  background(250, 250, 250);
  rectMode(CENTER);
  //imageMode(CENTER);

  pic=loadImage("hand.jpg");
  pic.resize(width, height);
  color c1 = color(200,25,25);
  color c2 = color(25, 255, 200);  

  imgContainer=new ArrayList<PImage>();
PImage pimg1=loadImage("this is where test_0.png needs to go")
pimg1.resize(50, 50);
imgContainer.add(pimg1);
  noLoop();
  noStroke();
}

void draw() {
  if (newDesign==false) {
    return;
  }

  pic.loadPixels();

  for (int y = 0; y < height; y+=40) {
    for (int x = 0; x < width; x+=40) {
      int index=y*width+x;
      color pixelValue = pic.pixels[index];
      color rgb = pixelValue;
      int r = (rgb >> 16) & 0xFF;  // Faster way of getting red(argb)
      int g = (rgb >> 8) & 0xFF;   // Faster way of getting green(argb)
      int b = rgb & 0xFF;  

//How far is the current color from white
float dista=dist(r,g,b,255,255,255);

//50 is a threshold value allowing close to white being identified as white
//This value needs to be adjusted based on your actual background color
//Next block is processed only if the pixel not white
if(dista>30){    
      float pixelBrightness = brightness(pixelValue); 
      float imgPicked=constrain(pixelBrightness/thresh, 0, n-1);
      image(imgContainer.get((int)imgPicked),x,y);
}
    }
  }
}



void mouseReleased() {
  newDesign=!newDesign;
  redraw();
}  

谢谢!

推荐答案

你应该能够做到:

PImage pimg1 = loadImage("test_segments/test_0.png");

如果这不起作用,请尝试像我们之前讨论的那样发布 MCVE.下面是一个 MCVE 示例,可以说明您的问题:

If that doesn't work, please try to post a MCVE like we talked about before. Here's an example of an MCVE that would demonstrate your problem:

PImage pimg1 = loadImage("test_segments/test_0.png");
image(pimg1, 0, 0);

不要忘记准确地包括您期望发生的事情,以及正在发生的事情.祝你好运.

Don't forget to include exactly what you expect to happen, and exactly what's happening instead. Good luck.

这篇关于在我的草图数据文件夹之外的文件夹中加载(处理)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆