import java.awt.Container;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.awt.image.PixelGrabber;
public class Teacher {
public static int[] ToVector(String path){
Image img = Toolkit.getDefaultToolkit().getImage(path);
*MediaTracker t = new MediaTracker(new Container());
*t.addImage (img, 0) ;
*try {
* t.waitForID(0);
* } catch (InterruptedException e1) {
*// TODO Auto-generated catch block
*e1.printStackTrace();
* }
int w = img.getWidth(null);
int h = img.getHeight(null);
int[] pix = new int[w*h];
PixelGrabber Grabber = new PixelGrabber(img, 0, 0, w, h, pix, 0, w);
try {
Grabber.grabPixels();
} catch (InterruptedException e) {
e.printStackTrace();
}
for (int i =0; i<pix.length; i++){
if (pix[i] == -1) pix[i] = 0;
else pix[i]=1;
}
return pix;
}
public static void main(String[] args){
int[] a;
a = ToVector("c:/data/0.1.jpg");
System.out.print(a);
}
}
Собственно цель: представить изображение в виде массива нулей и единиц. Что делаю не так? Предназначение строчек со звездочкой остается для меня загадкой, ибо было скопировано с какого-то сайтика.