-2

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

输入图像是这样的: -

在此处输入图像描述

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

在此处输入图像描述

我搜索了谷歌。但能找到解决办法。(也许是因为我不知道这个过程的实际名称是什么。)

这可以用java吗?

4

1 回答 1

0

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

输入图像:-

在此处输入图像描述

输出图像:-

在此处输入图像描述

代码:-

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)
}
}
}
于 2021-11-05T02:43:54.590 回答