⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 n4connectivityfilter.java

📁 some of the image proceeing samples using java
💻 JAVA
字号:
package image.filter;

import image.EditableImage;
import image.ImagingUtils;
import java.awt.Color;
import java.awt.image.BufferedImage;

public class N4ConnectivityFilter extends AbstractFilter {
    
    public N4ConnectivityFilter(EditableImage image) {
        super(image);
    }
    
    public void processFilter() {
        int vizinho = 0;
        
        int p = ((Integer)getParameter("p")).intValue();
        int q = ((Integer)getParameter("q")).intValue();
        
        p = ImagingUtils.convertToGrayscale(ImagingUtils.convertPixel(p, p, p));
        q = ImagingUtils.convertToGrayscale(ImagingUtils.convertPixel(q, q, q));
        
        int width = image.getWidth();
        int height = image.getHeight();
        
        BufferedImage bufferedImage = image.getImage();
        
        for (int w = 0; w < width; w++) {
            
            for (int h = 0; h < height; h++) {
                
                if (w - 1 >= 0) {
                    int valor = ImagingUtils.convertToGrayscale(bufferedImage.getRGB(w-1, h));
                    
                    if (p == valor) {
                        if (w - 1 >= 0) {
                            vizinho = ImagingUtils.convertToGrayscale(bufferedImage.getRGB(w-1, h));
                            if (vizinho == q) {
                                bufferedImage.setRGB(w-1, h, Color.YELLOW.getRGB());
                                bufferedImage.setRGB(w, h, Color.YELLOW.getRGB());
                            }
                        }

                        if (w+1 < width) {
                            vizinho = ImagingUtils.convertToGrayscale(bufferedImage.getRGB(w+1, h));
                            if (vizinho == q) {
                                bufferedImage.setRGB(w+1, h, Color.YELLOW.getRGB());
                                bufferedImage.setRGB(w, h, Color.YELLOW.getRGB());
                            }
                        }

                        if (h - 1 >= 0) {
                            vizinho = ImagingUtils.convertToGrayscale(bufferedImage.getRGB(w, h-1));
                            if (vizinho == q) {
                                bufferedImage.setRGB(w, h-1, Color.YELLOW.getRGB());
                                bufferedImage.setRGB(w, h, Color.YELLOW.getRGB());
                            }
                        }

                        if (h+1 < height) {
                            vizinho = ImagingUtils.convertToGrayscale(bufferedImage.getRGB(w, h+1));
                            if (vizinho == q) {
                                bufferedImage.setRGB(w, h+1, Color.YELLOW.getRGB());
                                bufferedImage.setRGB(w, h, Color.YELLOW.getRGB());
                            }
                        }
                    }
                }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -