Advertisement
HaydnG

Untitled

Apr 2nd, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.69 KB | None | 0 0
  1. //Made with java processing - HaydnG hayhay
  2.  
  3. PImage img;
  4. PImage sorted;
  5. float closest;
  6. int closestindex;
  7. boolean done =false;
  8. color[] colours = {color(255, 255, 255),color(228, 228, 228),color(136, 136, 136),color(34, 34, 34),color(255, 167, 209),color(229, 0, 0),color(229, 149, 0),color(160, 106, 66),color(229, 217, 0),color(148, 224, 68),color(2, 190, 1),color(0, 211, 221),color(0, 131, 199),color(0, 0, 234),color(207, 110, 228),color(130, 0, 128)};
  9.  
  10.  
  11. PrintWriter output;
  12.  
  13. color temp;
  14. void setup() {
  15.   img = createImage(0, 0, ARGB);
  16.   selectInput("Select a file to process:", "fileSelected");
  17.   size(500, 500);
  18.  
  19.   output = createWriter("NumbersList.txt");
  20.  
  21. }
  22.  
  23. float colorDistance(color a, color b)
  24. {
  25.       PVector avec = new PVector( red(a), green(a), blue(a) );
  26.       avec.sub( red(b), green(b), blue(b) );
  27.       return avec.mag();
  28. }
  29.  
  30.  
  31. void fileSelected(File file) {
  32.  
  33.   img = loadImage(file.getAbsolutePath());
  34.   img.loadPixels();
  35.   output.print("[");
  36.   image(img,0,0);
  37.   for (int i = 0; i < img.pixels.length; i++) {
  38.     closest = 1000;
  39.     for(int j = 0; j < colours.length; j++){
  40.         color c = img.get(i%img.width,i/img.height);
  41.         float dist = colorDistance(c,colours[j]);
  42.         if(dist < closest){
  43.           closest = dist;
  44.           closestindex = j;
  45.         }
  46.    
  47.     }
  48.     output.print(closestindex + ",");
  49.     if(i % 100 == 0 && i > 2){
  50.       output.println();
  51.     }
  52.  
  53.   }
  54.   output.print("]");
  55.   output.close();
  56.   done = true;
  57.  
  58. }
  59.  
  60. void draw(){
  61.   background(255);
  62.   image(img, 0, 0);
  63.   fill(0);
  64.   if(done){
  65.     text("File created: NumbersList.txt",50,height - 50);
  66.     text("File saved with numbers",50,height - 20);
  67.   }
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement