get("#348") -- rgb functions get("#388") -- rect functions get("#410") -- shrinkRectangle get("#380") -- hashImage w, h = img.width, img.height g = 3 -- grid size maxBlackPixels = g-1 gw, gh = math.floor(w/g), math.floor(h/g) -- width & height of grid grid = {} for gy = 0, h-g, g do for gx = 0, w-g, g do local black = 0 for y = gy, gy+g-1 do for x = gx, gx+g-1 do local b = bright(rgb(img.getInt(x, y))) if b < 0.94 then black = black+1 if black > maxBlackPixels then goto next end end end end grid[(gy/g)*gw+(gx/g)+1] = true ::next:: end end result = {} for y = 0, gh-1 do for x = 0, gw-1 do if grid[y*gw+x+1] then r = newRectangle(x, y, 1, 1) r = scaleRectangle(r, g) table.insert(result, recttostring(r)) end end end return "White Grid: "..table.concat(result, "|")