रंगीन इमेज को ग्रेस्केल में बदलने के लिए।
प्रत्येक पिक्सेल के लाल, हरे, नीले मान प्राप्त करें
इन 3 रंगों का औसत प्राप्त करें।
RGB मानों को औसत से बदलें।
संशोधित रंगों से एक नया पिक्सेल मान बनाएं।
नए मान को पिक्सेल पर सेट करें।
उदाहरण
import java.io.File; import java.io.IOException; import java.awt.Color; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; public class Color2Grey { public static void main(String args[])throws IOException { // इमेज पढ़ रहा है File file= new File("D:\\Images\\car.jpg"); BufferedImage img = ImageIO.read(file); for (int y = 0; y < img.getHeight(); y++) { for (int x = 0; x < img.getWidth(); x++) { // एक पिक्सेल के मान प्राप्त कर रहा है int pixel = img.getRGB(x,y); // पिक्सेल मान से Color ऑब्जेक्ट बना रहा है Color color = new Color(pixel, true); // R G B मान प्राप्त कर रहा है int red = color.getRed(); int green = color.getGreen(); int blue = color.getBlue(); // लाल हरे नीले मानों का औसत निकाल रहा है int average = (red+green+blue)/3; // नया Color ऑब्जेक्ट बना रहा है color = new Color(average, average, average); // इमेज पर नया Color ऑब्जेक्ट सेट कर रहा है img.setRGB(x, y, color.getRGB()); } } // संशोधित इमेज सेव कर रहा है file = new File("D:\\Images\\grey_image.jpg"); ImageIO.write(img, "jpg", file); System.out.println("Done..."); } }इनपुट

आउटपुट
