如何在处理中将opencv过滤器应用于ARGB图像?

时间:2017-02-24 14:21:45

标签: opencv processing alpha-transparency simple-openni

在项目的一部分中,在显示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 ?? I have added 640*480 test.jpg to tun the above code

0 个答案:

没有答案