在项目的一部分中,在显示backgroundimage
之后,我应该通过创建一个掩码(在我的代码中名为mask1
)并制作mask1
的前3000像素来隐藏其中的一部分无色。然后使用OpenCV库的blur()
方法对结果进行眩光。问题是OpenCv库似乎忽略了mask1
中像素的不透明度(alpha通道)。因此,无法在OpenCV库创建的backgroundimage
图像后面看到blured
。这是我的代码:
import gab.opencv.*;
OpenCV opencv;
int[] userMap;
PImage backgroundimage,mask1;
void setup() {
backgroundimage=loadImage("test.jpg");
mask1=createImage(640,480,ARGB);
opencv = new OpenCV(this,640,480);
size(640,480);
}
void draw() {
image(backgroundimage,0,0);
mask1.loadPixels();
for (int index=0; index<640*480; index++) {
if (index<30000) {
mask1.pixels[index]=color(0,0,0,0);
}
else{
mask1.pixels[index]=color(255,255,255);
}
}
mask1.updatePixels();
opencv.loadImage(mask1);
opencv.blur(8);
image(opencv.getSnapshot(), 0, 0);
}
是否还有其他解决方案来强调mask1
??