Simple GIS

GISプログラムの練習

画像認識

package pic;

import java.awt.*; 
import java.awt.event.*; 
import java.awt.image.*; 

class pro extends Frame implements MouseListener{ 

PixelGrabber pg; 
Color col; 
Image img; 
int w=400; 
int h=400; 
int pix=new int[w*h]; 
int red,green,blue; 
int memor=new int[h][w]; 
int memog=new int[h][w]; 
int memob=new int[h][w];
int point=new int[1400][1400];
int m,n; 
int num; 
String s1,s2; 

public static void main(String args) { 
pro f = new pro(); 
f.setSize(600,600); 
f.setBackground(Color.blue) ; 
f.setVisible(true); 
f.addWindowListener(new WindowAdapter(){public void 
windowClosing(WindowEvent e){System.exit(0);}}); 
} 



pro() { 

addMouseListener(this); 
    
s1="k.jpg"; 

catchimg(s1); 

} 

public void mouseEntered(MouseEvent e){ 
} 

public void mouseExited(MouseEvent e){ 
} 

public void mousePressed(MouseEvent e){ 
} 

public void mouseReleased(MouseEvent e){ 
} 

public void mouseClicked(MouseEvent e){   
int ex,ey; 
ey=(int)e.getY() ; 
ex=(int)e.getX();
point[ey][ex]=100;
repaint();

} 




public void paint( Graphics g ) { 
int i,mx,nx,z,pp; 
g.setColor(Color.blue); 
g.fillRect(0,0,600,600); 

mx=1; 
nx=1; 
for (mx=0;mx<h;mx++){ 
for (nx=0;nx<w;nx++){ 
g.setColor(new Color(memor[mx][nx],memog[mx][nx],memob[mx][nx])); 
g.fillRect(nx+100,mx+100,1,1); 
} 
} 
for (mx=0;mx<1000;mx++){ 
for (nx=0;nx<1000;nx++){ 
g.setColor(new Color(100,100,100)); 
if(point[mx][nx]>50)g.fillRect(nx,mx,10,10); 
} 
} 


} 

void catchimg(String s){ 

img = createImage(w,h); 
img = Toolkit.getDefaultToolkit().getImage(s); 
pg = new PixelGrabber(img,0,0,w,h,pix,0,w); 

try{pg.grabPixels();}catch(InterruptedException ie){} 
m=0; 
n=0; 
for(int i=0;i<w*h;i++){ 
int p = pix[i]; 
col=new Color(pix[i]); 
red=col.getRed(); 
green=col.getGreen(); 
blue=col.getBlue(); 
memor[m][n]=red; 
memog[m][n]=green; 
memob[m][n]=blue; 
n=n+1; 
if (n==w)m=m+1; 
if (n==w)n=0; 
} 
} 

}