Simple GIS

GISプログラムの練習

Wig

package wig;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.Group;
import javafx.scene.image.*;
import javafx.scene.shape.Rectangle;
import javafx.scene.image.Image;
import javafx.scene.paint.Color;
import javafx.scene.shape.Polygon;
import javafx.scene.shape.Line;



public class pro extends Application {
    
    Image img;
    ImageView imv;
    
Rectangle point;

int s,sx,w,h;    
int memor=new int[1000][1000]; 
int memog=new int[100][1000]; 
int memob=new int[1000][1000];
Rectangle rec=new Rectangle[500][500];
int wig=new int[500][500];


    public static void main(String args) {
        launch(args);
    }
    
    
    @Override
public void start(Stage primaryStage) {

        String pic;
        
        pic="http://img.ske48.co.jp/profile/large/takayanagi_akane.jpg";
        
     
          
        w=300;
        h=365;

       
   
   
   catchimg sub3=new catchimg();
   sub3.makedata(pic);
   memor=sub3.memor;
   memog=sub3.memog;
   memob=sub3.memob;
   
   int tx,r1,g1,b1;
   tx=0;
   r1=0;
   g1=0;
   b1=0;
   for(s=200;s<206;s++){
   for(sx=100;sx<106;sx++){
   tx=tx+1;
   r1=r1+memor[sx][s];
   g1=g1+memog[sx][s];
   b1=b1+memob[sx][s];
   }
   }
   r1=r1/tx;
   g1=g1/tx;
   b1=b1/tx;
   
   int h1;
   
  for(s=1;s<w;s++){
   for(sx=1;sx<h;sx++){
  h1=0;
  if(memor[sx][s]>r1-50)h1=h1+1;
    if(memor[sx][s]<r1+50)h1=h1+1;
   if(memog[sx][s]>g1-50)h1=h1+1;
    if(memog[sx][s]<g1+50)h1=h1+1;
    if(memob[sx][s]>b1-50)h1=h1+1;
    if(memob[sx][s]<b1+50)h1=h1+1;
    if(h1==6)wig[sx][s]=100;
   }
   }
   
  
   for(s=1;s<w;s++){
   for(sx=1;sx<h;sx++){
  rec[sx][s]=new Rectangle(s+50,sx+50,1,1);     
rec[sx][s].setFill(Color.BLUE); 
   }
   }
   
img = new Image(pic);
imv = new ImageView(img);
imv.setFitWidth(300);
imv.setFitHeight(365);
imv.setLayoutX(50);
imv.setLayoutY(50);

Group root = new Group();
Scene scene = new Scene(root, 500, 500);    
root.getChildren().add(imv);

for(s=1;s<w;s++){
for(sx=1;sx<h;sx++){
if(wig[sx][s]>50)root.getChildren().add(rec[sx][s]);
}
}
 
primaryStage.setTitle("face");
primaryStage.setScene(scene);
primaryStage.show();
    }

}