簡體   English   中英

如何使用BufferedImageOp在圖像上應用黑白濾鏡?

[英]How to apply black and white filter on image using BufferedImageOp?

我確實有這段代碼使用BufferedImageOp來提高圖像的清晰度

class DecreaseSharpenFilter implements MyFilter{
    public BufferedImage processImage(BufferedImage image) {
        float[] decreaseSharpnessMatrix = {0.0f, +1.0f, 0.0f, +1.0f , -5.0f, +1.0f, 0.0f, +1.0f, 0.0f };
         BufferedImageOp DecreaseSharpenFilter = new ConvolveOp(new Kernel(3, 3, decreaseSharpnessMatrix),
                    ConvolveOp.EDGE_NO_OP, null);
                return DecreaseSharpenFilter.filter(image, null);
    }
}

現在,我想通過對這些行進行修改來將圖像轉換為黑白圖像,但是我真的不知道在矩陣中使用什么值以及如何對其進行卷積。

您只需要創建一個色彩空間,然后將其傳遞給您的convertOP

ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY);  
ColorConvertOp op = new ColorConvertOp(cs, null);
BufferedImage image = op.filter(image, null);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM