如何在颜色模型之间进行转换
我对图像处理很新。 我有一个PNG图像(使用ImageIO.read()
读取),当我调用getType()
,它产生BufferedImage.TYPE_CUSTOM
。
BufferedImage bi = ImageIO.read(new URL("file:/C:/samp1.png")); int type =bi.getType(); //TYPE_CUSTOM for samp1.png
现在我想将其转换为以下模型之一:
- TYPE_USHORT_GRAY
- TYPE_3BYTE_BGR
- TYPE_BYTE_GRAY
- TYPE_INT_RGB
- TYPE_INT_ARGB
需要进行上述操作以使用仅识别上述类型的库来进一步处理图像。
如何将TYPE_CUSTOM
颜色模型转换为其他模型?
任何帮助/指针将不胜感激。 如果没有任何现有的库可以执行此操作,那么任何指向步骤/算法的链接/post都会很棒。
你试过这个吗?
BufferedImage rgbImg = new BufferedImage(bi.getWidth(), bi.getHeight(), BufferedImage.TYPE_INT_RGB);
尝试这个:
public static BufferedImage convert(BufferedImage src, int bufImgType) { BufferedImage img= new BufferedImage(src.getWidth(), src.getHeight(), bufImgType); Graphics2D g2d= img.createGraphics(); g2d.drawImage(src, 0, 0, null); g2d.dispose(); return img; }