图像模板 Java

Image To Stencil in Java

我是 java 图像处理的新手,我正在尝试将图像转换为模板(我认为 stencil 是它的名字!).

输入图片是这样的:-

处理后的图像是这样的:-

我搜索了 google。但可以找到解决方案。 (可能是因为我不知道这个进程的实际名称是什么。)

java可以吗?

是的,我找到了解决方案。如果我们对图像进行二值化,它就会起作用。

输入图片:-

输出图像:-

代码:-

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class Main {

 
    public static void main(String[] args) throws  IOException {
        
        BufferedImage bi = ImageIO.read(new File("D:\IMG_20211029_124954.jpg"));
        
      ImageIO.write(binarizeImage(bi), "png", new File("D:\1.png"));
 
}
public static BufferedImage binarizeImage(BufferedImage img_param) 
{
    BufferedImage image = new BufferedImage(
        img_param.getWidth(), 
        img_param.getHeight(),                                    
        BufferedImage.TYPE_BYTE_BINARY
    );

    Graphics g = image.getGraphics();
    g.drawImage(img_param, 0, 0, null);
    g.dispose();

    
    return image;
}
}

要使图像透明,可以这样做:-

for(int i=0;i<img.width;i++){
for(int j=0;j<img.height;j++){
Color c = new Color(255,255,255,0);
if(img.getRGB==Color.white.getRGB){
img.setRGB(i,j,c.getRGB)
}
}
}