📄 n8connectivity.java
字号:
package image.filter;import image.EditableImage;import image.ImagingUtils;import java.awt.Color;import java.awt.image.BufferedImage;public class N8Connectivity extends AbstractFilter { public N8Connectivity(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()); } } if (w - 1 >= 0 && h - 1 > 0) { vizinho = ImagingUtils.convertToGrayscale(bufferedImage.getRGB(w-1, h-1)); if (vizinho == q) { bufferedImage.setRGB(w-1, h-1, Color.YELLOW.getRGB()); bufferedImage.setRGB(w, h, Color.YELLOW.getRGB()); } } if (w+1 < width && h - 1 > 0) { vizinho = ImagingUtils.convertToGrayscale(bufferedImage.getRGB(w+1, h-1)); if (vizinho == q) { bufferedImage.setRGB(w+1, h-1, Color.YELLOW.getRGB()); bufferedImage.setRGB(w, h, Color.YELLOW.getRGB()); } } if (h - 1 >= 0 && w - 1 > 0) { vizinho = ImagingUtils.convertToGrayscale(bufferedImage.getRGB(w-1, h+1)); if (vizinho == q) { bufferedImage.setRGB(w-1, h+1, Color.YELLOW.getRGB()); bufferedImage.setRGB(w, h, Color.YELLOW.getRGB()); } } if (h+1 < height && w + 1 < width) { vizinho = ImagingUtils.convertToGrayscale(bufferedImage.getRGB(w+1, h+1)); if (vizinho == q) { bufferedImage.setRGB(w+1, h+1, Color.YELLOW.getRGB()); bufferedImage.setRGB(w, h, Color.YELLOW.getRGB()); } } } } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -