Skip to content

Commit 7306868

Browse files
authored
Add files via upload
1 parent 2a72156 commit 7306868

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

Image Filters/ImageFilter.java

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
import java.util.*;
2+
import java.awt.*;
3+
import java.awt.image.*;
4+
import java.io.*;
5+
import javax.imageio.ImageIO;
6+
import javax.swing.*;
7+
import java.awt.geom.AffineTransform;
8+
9+
public class ImageFilter {
10+
11+
public static void main(String[] args) {
12+
File file = new File("photo.png");
13+
BufferedImage img = null;
14+
15+
try { img = ImageIO.read(file); }
16+
catch (IOException e) { e.printStackTrace(System.out); }
17+
18+
if (img != null) {
19+
display(img);
20+
img = toGrayScale2(img);
21+
display(img);
22+
}
23+
}
24+
25+
// display image in a JPanel popup
26+
public static void display (BufferedImage img) {
27+
System.out.println(" Displaying image.");
28+
JFrame frame = new JFrame();
29+
JLabel label = new JLabel();
30+
frame.setSize(img.getWidth(), img.getHeight());
31+
label.setIcon(new ImageIcon(img));
32+
frame.getContentPane().add(label, BorderLayout.CENTER);
33+
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
34+
frame.pack();
35+
frame.setVisible(true);
36+
}
37+
// convert image to grayscale
38+
public static BufferedImage toGrayScale (BufferedImage img) {
39+
System.out.println(" Converting to GrayScale.");
40+
BufferedImage grayImage = new BufferedImage(
41+
img.getWidth(), img.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
42+
Graphics g = grayImage.getGraphics();
43+
g.drawImage(img, 0, 0, null);
44+
g.dispose();
45+
return grayImage;
46+
}
47+
public static BufferedImage toGrayScale2 (BufferedImage img) {
48+
System.out.println(" Converting to GrayScale2.");
49+
BufferedImage grayImage = new BufferedImage(
50+
img.getWidth(), img.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
51+
int p=0, rgb=0, r=0, g=0, b=0;
52+
for (int y=0; y<img.getHeight()-1; y++) {
53+
for (int x=0; x<img.getWidth()-1; x++) {
54+
rgb = (int)(img.getRGB(x, y));
55+
r = ((rgb >> 16) & 0xFF);
56+
g = ((rgb >> 8) & 0xFF);
57+
b = (rgb & 0xFF);
58+
p = (int)(0.2126 * r + 0.7152 * g + 0.0722 * b);
59+
p = (255<<24) | (p<<16) | (p<<8) | p;
60+
grayImage.setRGB(x,y,p);
61+
}
62+
}
63+
return grayImage;
64+
}
65+
}
66+
67+
68+
69+
70+
71+
72+
73+
74+
75+
76+

0 commit comments

Comments
 (0)