0
我一直在研究处理中的一个程序,该程序比较两个图像并给出百分比匹配。我通过使用for循环为图像中的每个像素调用get()来做到这一点。我必须找到一种方法来调用一个在循环之外的for循环中初始化的变量。我浏览过几个网站,似乎无法给我任何好的答案,而且我想知道这是否有可能,如果没有,是否有办法解决它。这里是我的代码:如何调用它之外的变量的范围正在处理中
PImage fce1;
PImage fce2;
color f1;
color f2;
void setup(){
fullScreen();
background(#353535);
fce1 = loadImage("Face1.jpg");
fce2 = loadImage("Face2.jpg.png");
}
void draw(){
image(fce1, width/2 - 500, 200, 350, 500);
image(fce2, width/2 + 150, 200, 350, 500);
//line(width/2 - 150, height/2 - 250, width/2 + 150, height/2 - 250);
for(int i = height/2 - 250; i <= fce1.height + (height/2 - 250); i ++){
for(int x = width/2 - 500; x <= fce1.width + (width/2 - 500); x ++){
color vm1 = fce1.get(x, i);
this.f1 = vm1;
}
}
for(int i = height/2 - 250; i <= fce2.height + (height/2 - 250); i ++){
for(int x = width/2 + 150; x <= fce2.width + (width/2 + 150); x ++){
color vm2 = fce2.get(x, i);
this.f2 = vm2;
}
}
}
void mousePressed(){
if(mouseX >= 20 && mouseX <= 70 && mouseY >= 20 && mouseY <=70){
exit();
}
}
我试图调用为()循环外部变量f1,因为for()循环初始化。提前致谢!
我不确定你在问什么。 'f1'变量在草图的顶部定义,所以你可以在任何你想要的地方使用它。还要注意,'f1'变量只会“保留”你给它的最后一个值。 –
哦。谢谢。我会尝试的。 –
...你在想什么? –