我想用遗传算法去识别数字。我应该如何读取图片,把图片的信息作为遗传算法的输入值,来训练参数?应该读取成二进制还是什么格式啊?谢谢!

解决方案 »

  1.   

    我找到了,程序如下import java.awt.image.BufferedImage;
    import java.io.*;
    import javax.imageio.ImageIO;
    public class readPic { public int[] readPicContent(String dir) {
    int a[]=new int[64];
    int sum=0;
    try {
    final File file = new File(dir);
    final BufferedImage bi = ImageIO.read(file);
                               String s=null;
                            s=bi.toString();
                            final int i=bi.getHeight();
                            final int j=bi.getWidth();
                            final int t=bi.getType();
                for(int ih=0;ih<i;ih++)
                {
                 for(int jw =0;jw<j;jw++)
                 {
                  a[sum]=(bi.getRGB(jw, ih)& 0xff0000 ) >> 16;
                  sum++;
                 }
                             }
    }catch(final FileNotFoundException e)
    {
    e.printStackTrace();
    }catch (final IOException e) { e.printStackTrace();
    }
    return a;
    }}
      

  2.   

    import java.awt.image.BufferedImage; 
    import java.io.*; 
    import javax.imageio.ImageIO; 
    public class readPic { public int[] readPicContent(String dir) { 
    int a[]=new int[64]; 
    int sum=0; 
    try { 
    final File file = new File(dir); 
    final BufferedImage bi = ImageIO.read(file); 
                              String s=null; 
                            s=bi.toString(); 
                            final int i=bi.getHeight(); 
                            final int j=bi.getWidth(); 
                            final int t=bi.getType(); 
                for(int ih=0;ih <i;ih++) 
                { 
                for(int jw =0;jw <j;jw++) 
                { 
                a[sum]=(bi.getRGB(jw, ih)& 0xff0000 ) >> 16; 
                sum++; 
                } 
                            } 
    }catch(final FileNotFoundException e) 

    e.printStackTrace(); 
    }catch (final IOException e) { e.printStackTrace(); 

    return a; 
    } } 
      

  3.   

    import java.io.*; 
    import javax.imageio.ImageIO; 
    public class readPic { public int[] readPicContent(String dir) { 
    int a[]=new int[64]; 
    int sum=0; 
    try { 
    final File file = new File(dir); 
    final BufferedImage bi = ImageIO.read(file); 
                              String s=null; 
                            s=bi.toString(); 
                            final int i=bi.getHeight(); 
                            final int j=bi.getWidth(); 
                            final int t=bi.getType(); 
                for(int ih=0;ih <i;ih++) 
                { 
                for(int jw =0;jw <j;jw++) 
                { 
                a[sum]=(bi.getRGB(jw, ih)& 0xff0000 ) >> 16; 
                sum++; 
                } 
                            } 
    }catch(final FileNotFoundException e) 

    e.printStackTrace(); 
    }catch (final IOException e) { e.printStackTrace(); 

    return a; 
    } } 
      

  4.   

    这样多麻烦...直接在变量里面保存图片的URL