Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2012, 23:58   #1
jack291
 
Регистрация: 20.08.2011
Сообщений: 3
По умолчанию Не могу загрузить изображние в Java

Всем доброго времени суток! Делаю курсовую по нейросетям, кое-что уже сделал, но не могу загрузить изображение при помощи метода getImage(). Получаю такую ошибку java.lang.ArrayIndexOutOfBoundsExce ption: 1, если закомменитить catch InterruptedException. Я новичок в Java, поэтомуу прошу о помощи. Вот листинг основного класса:

Код:
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;
import java.awt.image.PixelGrabber;
import java.io.File;
import java.io.FilenameFilter;
import java.util.logging.Level;
import java.util.logging.Logger;

import ai.Teacher;

public class neuros {
		static int w,h;
	
	public static int[] OpenImage(String path) {
		
		Image img;
		Toolkit T = Toolkit.getDefaultToolkit();				
		img = T.getImage(path);
		MediaTracker mediaTracker = new MediaTracker(new Container());
		mediaTracker.addImage(img, 0);
		/*try {
            mediaTracker.waitForAll();
        } catch (InterruptedException ex) {
            Logger.getLogger(Teacher.class.getName()).log(Level.SEVERE, null, ex);
        }
		*/
		//img = getImage(path, "1.jpg");
		
		w = img.getWidth(null);
        h = img.getHeight(null);
		
        int[] pixels = new int[w*h];
        
        PixelGrabber pg = new PixelGrabber(img, 0, 0, w, h, pixels, 0, w);
        try {
            pg.grabPixels();
        } catch (InterruptedException ex) {
            Logger.getLogger(Teacher.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return pixels;
	}
	
	private static int[] getInVector(int[] p)
    {
        int[] x = new int[p.length];
        for (int i = 0; i < p.length; i++) {
            if (p[i] == -1) x[i] = 0; else x[i] = 1;
        }
        
        for (int i = 0 ; i < w ; i++) {
        	for (int j = 0 ; j < h; j++)
        		System.out.print(x[j + i]);
        	System.out.println();
        }   
        	              
        return x;
    }
	
	
	static public void main(String args[]) {
		System.out.println("Init perceptron...");
		ai.Perceptron s = new ai.Perceptron(10,4096);
		System.out.println("Complete. Create teacher...");
		ai.Teacher Teach = new ai.Teacher(s);
		System.out.println("Complete. Teaching...");
		Teach.teach("/home/jack/workspace/neuros/data", 10);	
		System.out.println("Teaching complete");		
		int[] awn = new int[s.getN()];
		awn = s.recognize(getInVector(OpenImage("/home/jack/workspace/neuros/1.jpg")));
		System.out.println(awn);
	}

}
Остальное в архиве. IDE Eclipse, OS Debian 6
Вложения
Тип файла: zip neuros.zip (711.0 Кб, 7 просмотров)
jack291 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нестандартное изображние Abuhamed JavaScript, Ajax 4 08.03.2012 23:31
Не могу загрузить картинку nextgen artemhp WordPress и другие CMS 0 11.12.2011 04:36
Не могу загрузить компьетер Ермак Компьютерное железо 2 08.11.2010 20:25
Не могу загрузить компьетер Ермак Общие вопросы Delphi 0 08.11.2010 17:27
Не могу загрузить линукс. jojahti Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 2 23.10.2009 14:29