Java 合并两个图像(一个图像没有面,第二个图像只有面)

Java 合并两个图像(一个图像没有面,第二个图像只有面),java,android,image,image-processing,face-detection,Java,Android,Image,Image Processing,Face Detection,我有两个图像一个图像包含没有脸的身体,一个图像包含只有脸的身体 现在我想合并这两个图像。。。。第一个只包含身体而没有脸的图像是因为脸是透明的 所以我怎样才能检测到那个透明区域并将脸放在那个里的透明区域中 我用下面的代码组合了两张图片但将面放置在透明区域上不是正确的方法 下面是我的代码 public Bitmap combineImages(Bitmap c, Bitmap s) { Bitmap cs = null; int width, height = 0; i

我有两个图像一个图像包含没有脸的身体,一个图像包含只有脸的身体

现在我想合并这两个图像。。。。第一个只包含身体而没有脸的图像是因为脸是透明的

所以我怎样才能检测到那个透明区域并将脸放在那个里的透明区域中

我用下面的代码组合了两张图片但将面放置在透明区域上不是正确的方法

下面是我的代码

 public Bitmap combineImages(Bitmap c, Bitmap s) {
    Bitmap cs = null;

    int width, height = 0;

    if (c.getWidth() > s.getWidth()) {
        width = c.getWidth() + s.getWidth();
        height = c.getHeight();
    } else {
        width = s.getWidth() + s.getWidth();
        height = c.getHeight();
    }

    cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

    Canvas comboImage = new Canvas(cs);

    comboImage.drawBitmap(c, 0f, 0f, null);
    comboImage.drawBitmap(s, 0f, 0f, null);

    return cs;
}

你的意思是身体图像的面部区域是透明的吗?也就是说,身体图像某些部分的alpha值较低?

如果对身体图像进行连接组件标记,您应该能够从边界框中找到脸的大小。这里有一个关于组合位图的链接。