Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

About this user

« Newer Snippets
Older Snippets »
Showing 1-9 of 9 total  RSS 

Java - Erode

// JAI Filter erode

public RenderedImage erode(BufferedImage img)
	{
		KernelJAI kernel = new KernelJAI(7, 7, new float[]{
															0, 0, 0, 0, 0, 0, 0,
															0, 1, 1, 1, 1, 1, 0,
															0, 1, 1, 1, 1, 1, 0,
															0, 1, 1, 1, 1, 1, 0,
															0, 1, 1, 1, 1, 1, 0,
															0, 1, 1, 1, 1, 1, 0,
															0, 0, 0, 0, 0, 0, 0
															});
		ParameterBlock pb = new ParameterBlock();
		pb.addSource(img);
		pb.add(kernel);
		
		return JAI.create("erode", pb);
	}

Java - subTraction

// Use JAI filter

public RenderedImage subTraction(BufferedImage img1, BufferedImage img2)
	{
		ParameterBlock pb = new ParameterBlock();
		pb.addSource(img1);
		pb.addSource(img2);
		
		return JAI.create("subtract", pb);
	}

Java - showBitPlanes

// the input it must be a b/w image

public BufferedImage showBitPlanes(BufferedImage bi, int lv)
	{
		int level = 0;
		
		switch(level)
		{
			case 0:
				level = 128;
				break;
			case 1:
				level = 64;
				break;
			case 2:
				level = 32;
				break;
			case 3:
				level = 16;
				break;
			case 4:
				level = 8;
				break;
			case 5:
				level = 4;
				break;
			case 6:
				level = 2;
				break;
			case 7:
				level = 1;
				break;
			default:
					return null;
		}
		
		int width = bi.getWidth();
		int height = bi.getHeight();
		
		BufferedImage img = new BufferedImage(width, height, bi.getType());
		
		for(int x=0; x<width; x++)
			for(int y=0; y<height; y++)
				img.setRGB(x, y, ((bi.getRGB(x, y) & level)/level)*255);
		
		return img;
	}

Java - Dilate3

// pixel before the filter
// |--|--|--|
// | | | |
// |--|--|--|
// | | *| |
// |--|--|--|
// | | | |
// |--|--|--|

// pixel after the filter
// |--|--|--|
// | *| *| *|
// |--|--|--|
// | *| *| *|
// |--|--|--|
// | *| *| *|
// |--|--|--|

public BufferedImage dilate3(BufferedImage bi)
	{
		BufferedImage buff = new BufferedImage(bi.getWidth(), bi.getHeight(), bi.getType());
		
		Kernel kernel = new Kernel(3, 3, new float[] {
														1f, 1f, 1f, 
														1f, 1f, 1f, 
														1f, 1f, 1f
													 });
		
		ConvolveOp op = new ConvolveOp(kernel);
		op.filter(bi, buff);
		
		return buff;
	}

Java - EdgeW / EdgeH

public BufferedImage EdgeW(BufferedImage bi)
	{
		BufferedImage buff = new BufferedImage(bi.getWidth(), bi.getHeight(), bi.getType());
		
		Kernel kernel = new Kernel(3, 3, new float[] {
														-1f, 0f, 1f, 
														-2f, 0f, 2f, 
														-1f, 0f, 1f
													 });
		
		ConvolveOp op = new ConvolveOp(kernel);
		op.filter(bi, buff);
		
		return buff;
	}


	public BufferedImage EdgeH(BufferedImage bi)
	{
		BufferedImage buff = new BufferedImage(bi.getWidth(), bi.getHeight(), bi.getType());
		
		Kernel kernel = new Kernel(3, 3, new float[] {
														-1f, -2f, -1f, 
														 0f,  0f,  0f, 
														 1f,  2f,   1f
													 });
		
		ConvolveOp op = new ConvolveOp(kernel);
		op.filter(bi, buff);
		
		return buff;
	}

Java - Brightness

public BufferedImage brightness(BufferedImage bi, float value)
	{
		BufferedImage buff = new BufferedImage(bi.getWidth(), bi.getHeight(), bi.getType());
		
		Kernel kernel = new Kernel(1, 1, new float[] {value});
		
		ConvolveOp op = new ConvolveOp(kernel);
		op.filter(bi, buff);
		
		return buff;
	}

Java - ScreenShot

import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class screen2image
{
	public static void main(String[] args) throws Exception
	{
		Robot robot = new Robot();
		
		BufferedImage screenShot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
		ImageIO.write(screenShot, "JPG", new File("screenShot.jpg"));
	}
}

Java - ImageFilter Simple

// Filtro Embrossing
	public BufferedImage Embrossing(BufferedImage bi)
	{
		BufferedImage buff = new BufferedImage(bi.getWidth(), bi.getHeight(), bi.getType());
		
		Kernel kernel = new Kernel(3, 3, new float[] {
														-2f, 0f, 0f, 
														 0f, 1f, 0f, 
														 0f, 0f, 2f
													 });
		
		ConvolveOp op = new ConvolveOp(kernel);
		op.filter(bi, buff);
		
		return buff;
	}


// Filtro Blurring
	public BufferedImage Blurring(BufferedImage bi)
	{
		BufferedImage buff = new BufferedImage(bi.getWidth(), bi.getHeight(), bi.getType());
		
		Kernel kernel = new Kernel(3, 3, new float[] {
														1f/9f, 1f/9f, 1f/9f, 
														1f/9f, 1f/9f, 1f/9f, 
														1f/9f, 1f/9f, 1f/9f
													 });
		
		ConvolveOp op = new ConvolveOp(kernel);
		op.filter(bi, buff);
		
		return buff;
	}


// Filtro Sharpening
	public BufferedImage Sharpening(BufferedImage bi)
	{
		BufferedImage buff = new BufferedImage(bi.getWidth(), bi.getHeight(), bi.getType());
		
		Kernel kernel = new Kernel(3, 3, new float[] {
														-1f, -1f, -1f, 
														-1f,  9f, -1f, 
														-1f, -1f, -1f
													 });
		
		ConvolveOp op = new ConvolveOp(kernel);
		op.filter(bi, buff);
		
		return buff;
	}

Java - Color2Gray

public BufferedImage toGray(BufferedImage bi)
	{
		ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY);
		ColorConvertOp op = new ColorConvertOp(cs, null);
		
		return op.filter(bi, null);
	}
« Newer Snippets
Older Snippets »
Showing 1-9 of 9 total  RSS