@SuppressWarnings("unused") private void extractWithRadiusTwo(BufferedImage image) { WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster();
@SuppressWarnings("unused") private void extractWithRadiusTwo(BufferedImage image) { WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster();
private void extractRadiusWithOne(BufferedImage image) { WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster();
private void extractRadiusWithOne(BufferedImage image) { WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster();
int colorPos = 0; WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster(); WritableRaster rasterColor = image.getRaster();
WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster();
int colorPos = 0; WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster(); WritableRaster rasterColor = image.getRaster();
WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster();
double h2 = h * h; BufferedImage result = getGrayscaleImage(img); WritableRaster raster = result.getRaster(); int[] p = new int[1]; // actual pixel
public static BufferedImage differenceOfGaussians(BufferedImage image) { BufferedImage img1 = getGrayscaleImage(image); BufferedImage img2 = getGrayscaleImage(image); ConvolveOp gaussian1 = new ConvolveOp(new Kernel(5, 5, ImageUtils.makeGaussianKernel(5, 1.0f))); ConvolveOp gaussian2 = new ConvolveOp(new Kernel(5, 5, ImageUtils.makeGaussianKernel(5, 2.0f))); img1 = gaussian1.filter(img1, null); img2 = gaussian2.filter(img2, null); WritableRaster r1 = img1.getRaster(); WritableRaster r2 = img2.getRaster(); int[] tmp1 = new int[3]; int[] tmp2 = new int[3]; for (int x = 0; x < img1.getWidth(); x++) { for (int y = 0; y < img1.getHeight(); y++) { r1.getPixel(x, y, tmp1); r2.getPixel(x, y, tmp2); tmp1[0] = Math.abs(tmp1[0] - tmp2[0]); // System.out.println("tmp1 = " + tmp1[0]); if (tmp1[0] > 5) tmp1[0] = 0; else tmp1[0] = 255; r1.setPixel(x, y, tmp1); } } return img1; }
public static BufferedImage differenceOfGaussians(BufferedImage image) { BufferedImage img1 = getGrayscaleImage(image); BufferedImage img2 = getGrayscaleImage(image); ConvolveOp gaussian1 = new ConvolveOp(new Kernel(5, 5, ImageUtils.makeGaussianKernel(5, 1.0f))); ConvolveOp gaussian2 = new ConvolveOp(new Kernel(5, 5, ImageUtils.makeGaussianKernel(5, 2.0f))); img1 = gaussian1.filter(img1, null); img2 = gaussian2.filter(img2, null); WritableRaster r1 = img1.getRaster(); WritableRaster r2 = img2.getRaster(); int[] tmp1 = new int[3]; int[] tmp2 = new int[3]; for (int x = 0; x < img1.getWidth(); x++) { for (int y = 0; y < img1.getHeight(); y++) { r1.getPixel(x, y, tmp1); r2.getPixel(x, y, tmp2); tmp1[0] = Math.abs(tmp1[0] - tmp2[0]); // System.out.println("tmp1 = " + tmp1[0]); if (tmp1[0] > 5) tmp1[0] = 0; else tmp1[0] = 255; r1.setPixel(x, y, tmp1); } } return img1; }
double h2 = h * h; BufferedImage result = getGrayscaleImage(img); WritableRaster raster = result.getRaster(); int[] p = new int[1]; // actual pixel
histogram[i][j] = 0; WritableRaster grey = ImageUtils.getGrayscaleImage(bimg).getRaster(); WritableRaster raster = bimg.getRaster(); int[] px = new int[3];
histogram[i][j] = 0; WritableRaster grey = ImageUtils.getGrayscaleImage(bimg).getRaster(); WritableRaster raster = bimg.getRaster(); int[] px = new int[3];
histogram[i][j] = 0; WritableRaster grey = ImageUtils.getGrayscaleImage(bimg).getRaster(); WritableRaster raster = bimg.getRaster(); int[] px = new int[3];
histogram[i][j] = 0; WritableRaster grey = ImageUtils.getGrayscaleImage(bimg).getRaster(); WritableRaster raster = bimg.getRaster(); int[] px = new int[3];
public static BufferedImage trimWhiteSpace(BufferedImage src, BufferedImage tgt, int whiteThreshold, int startTop, int startRight, int startBottom, int startLeft) { WritableRaster raster = getGrayscaleImage(src).getRaster(); int[] pixels = new int[Math.max(raster.getWidth(), raster.getHeight())]; int thresholdWhite = whiteThreshold;
@Override public void extract(BufferedImage image) { histogram = new double[256]; for (int i = 0; i < histogram.length; i++) { histogram[i] = 0; } WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster(); int[] px = new int[3]; for (int x = 1; x < raster.getWidth() - 1; x++) { for (int y = 1; y < raster.getHeight() - 1; y++) { raster.getPixel(x, y, px); int ctValue = 0; int intensity = px[0]; if (raster.getPixel(x - 1, y - 1, px)[0] <= intensity) ctValue |= (0x01); if (raster.getPixel(x, y - 1, px)[0] <= intensity) ctValue |= (0x01 << 1); if (raster.getPixel(x + 1, y - 1, px)[0] <= intensity) ctValue |= (0x01 << 2); if (raster.getPixel(x - 1, y + 1, px)[0] <= intensity) ctValue |= (0x01 << 3); if (raster.getPixel(x, y + 1, px)[0] <= intensity) ctValue |= (0x01 << 4); if (raster.getPixel(x + 1, y + 1, px)[0] <= intensity) ctValue |= (0x01 << 5); if (raster.getPixel(x - 1, y, px)[0] <= intensity) ctValue |= (0x01 << 6); if (raster.getPixel(x + 1, y, px)[0] <= intensity) ctValue |= (0x01 << 7); histogram[Math.min(ctValue, 255)]++; } } // Todo: Check if max normalization helps the case. It has not been mentioned in the original paper, but it'd definitely help with robustness against scaling. if (applyMaxNorm) normalize(histogram); }
@Override public void extract(BufferedImage image) { histogram = new double[256]; for (int i = 0; i < histogram.length; i++) { histogram[i] = 0; } WritableRaster raster = ImageUtils.getGrayscaleImage(image).getRaster(); int[] px = new int[3]; for (int x = 1; x < raster.getWidth() - 1; x++) { for (int y = 1; y < raster.getHeight() - 1; y++) { raster.getPixel(x, y, px); int ctValue = 0; int intensity = px[0]; if (raster.getPixel(x - 1, y - 1, px)[0] <= intensity) ctValue |= (0x01); if (raster.getPixel(x, y - 1, px)[0] <= intensity) ctValue |= (0x01 << 1); if (raster.getPixel(x + 1, y - 1, px)[0] <= intensity) ctValue |= (0x01 << 2); if (raster.getPixel(x - 1, y + 1, px)[0] <= intensity) ctValue |= (0x01 << 3); if (raster.getPixel(x, y + 1, px)[0] <= intensity) ctValue |= (0x01 << 4); if (raster.getPixel(x + 1, y + 1, px)[0] <= intensity) ctValue |= (0x01 << 5); if (raster.getPixel(x - 1, y, px)[0] <= intensity) ctValue |= (0x01 << 6); if (raster.getPixel(x + 1, y, px)[0] <= intensity) ctValue |= (0x01 << 7); histogram[Math.min(ctValue, 255)]++; } } // Todo: Check if max normalization helps the case. It has not been mentioned in the original paper, but it'd definitely help with robustness against scaling. if (applyMaxNorm) normalize(histogram); }
public static BufferedImage removeScratches(BufferedImage img) { int thresholdGray = 196; int thresholdCount = 12; BufferedImage result = getGrayscaleImage(img); WritableRaster raster; int[] pCol = new int[img.getHeight()];