我是java图像处理的新手,我正在尝试将图像转换为模板(我认为模板是给它的名字!)。
输入图像是这样的: -
处理后的图像会是这样的: -
我搜索了谷歌。但能找到解决办法。(也许是因为我不知道这个过程的实际名称是什么。)
这可以用java吗?
我是java图像处理的新手,我正在尝试将图像转换为模板(我认为模板是给它的名字!)。
输入图像是这样的: -
处理后的图像会是这样的: -
我搜索了谷歌。但能找到解决办法。(也许是因为我不知道这个过程的实际名称是什么。)
这可以用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)
}
}
}