public BufferedImage toGray(BufferedImage bi)
{
ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY);
ColorConvertOp op = new ColorConvertOp(cs, null);
return op.filter(bi, null);
}
Tag Archive for bit
Java – Color2Gray
Java – ImageFilter Simple
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;
}
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;
}
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 – 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 – 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 – 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 – Dilate3
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;
}
Matlab – showBitPlanes
% Ritorna i Bit Plabes dell'immagine a toni di grigio function showBitPlanes(img) imgGray = double( rgb2gray(img) ); titleString = 'bit planes '; % MSB ... LSB k = 128; for b=1:8 subplot(2, 4, b); imshow( (bitand(imgGray, k) / k) * 255 ); % Fa un and dei bit title([titleString int2str(b-1)]); k = k/2; % Shifta di 2 i bit end; return;
Java – showBitPlanes
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 – subTraction
public RenderedImage subTraction(BufferedImage img1, BufferedImage img2)
{
ParameterBlock pb = new ParameterBlock();
pb.addSource(img1);
pb.addSource(img2);
return JAI.create("subtract", pb);
}
Java – 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);
}