How to get no. Of pixels from given image through java
try this code
import java.awt.image.PixelGrabber;
import java.awt.Toolkit;
import java.awt.Image;
class getpixel2
{
public static void main(String args[]) throws Exception
{
Image image = Toolkit.getDefaultToolkit().getImage("D:\\one.jpg");
if(image==null)
System.out.println("NO FIle");
PixelGrabber grabber = new PixelGrabber(image, 0, 0, -1, -1, false);
if (grabber.grabPixels())
{
int width = grabber.getWidth();
int height = grabber.getHeight();
if (isGreyscaleImage(grabber))
{
byte[] data = (byte[]) grabber.getPixels();
}
else
{
int[] data = (int[]) grabber.getPixels();
for(int i=0;i<data.length;i++)
{
int r = (data[i] >> 16) & 0xff;
int g = (data[i] >> 8) & 0xff;
int b = (data[i] >> 0) & 0xff;
System.out.println("(R,G,B)=("r","g","b")");
}
}
}
}
public static final boolean isGreyscaleImage(PixelGrabber pg)
{
return pg.getPixels() instanceof byte[];
}
} import java.awt.image.PixelGrabber;
import java.awt.Toolkit;
import java.awt.Image;
class getpixel2
{
public static void main(String args[]) throws Exception
{
Image image = Toolkit.getDefaultToolkit().getImage("D:\\one.jpg");
if(image==null)
System.out.println("NO FIle");
PixelGrabber grabber = new PixelGrabber(image, 0, 0, -1, -1, false);
if (grabber.grabPixels())
{
int width = grabber.getWidth();
int height = grabber.getHeight();
if (isGreyscaleImage(grabber))
{
byte[] data = (byte[]) grabber.getPixels();
}
else
{
int[] data = (int[]) grabber.getPixels();
for(int i=0;i<data.length;i++)
{
int r = (data[i] >> 16) & 0xff;
int g = (data[i] >> 8) & 0xff;
int b = (data[i] >> 0) & 0xff;
System.out.println("(R,G,B)=("r","g","b")");
}
}
}
}
public static final boolean isGreyscaleImage(PixelGrabber pg)
{
return pg.getPixels() instanceof byte[];
}
}
×