Advertisement
Guest User

Untitled

a guest
Jul 15th, 2018
853
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.nio.file.Files
  2. import java.io.File
  3. import javax.imageio.ImageIO
  4.  
  5. def avgDiffSq(file: File): Double = {
  6.   val image = ImageIO.read(file)
  7.   val data = image.getRGB(0, 0, image.getWidth, image.getHeight, null, 0, image.getWidth)
  8.   var i = 0
  9.   var sum = 0.0
  10.   while(i < data.size) {
  11.     val c = data(i)
  12.     val r = (c&0xFF0000)>>16; val g = (c&0xFF00)>>8; val b = c&0xFF
  13.     val d = (math.abs(r-g) + math.abs(r-b)).toDouble
  14.     sum += d*d
  15.     i += 1
  16.   }
  17.   math.sqrt(sum / data.size)
  18. }
  19.  
  20. var count = 0
  21.  
  22. new File(".").listFiles.foreach {file =>
  23.   if(file.getName.endsWith(".jpg") || file.getName.endsWith(".jpeg") || file.getName.endsWith(".png")) {
  24.     try {
  25.       val diff = avgDiffSq(file)
  26.       val dir = if(diff < 5) "bw"
  27.                 else if(diff < 20) "maybe"
  28.                 else "color"
  29.       file.renameTo(new File(dir + "/" + file.getName))
  30.       count += 1
  31.       println(count)
  32.     } catch {
  33.       case e: Exception => println(file.getName); println(e)
  34.     }
  35.   }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement