get("#348") -- rgb functions get("#346") -- getcrop get("#337") -- map(list, f) get("#388") -- rectangle functions brightnessThreshold = 0.9 function horizontalsplit(img) local function isEmpty(x) for y=0, img.height-1 do if bright(rgb(img.getInt(x, y))) <= brightnessThreshold then return false end end return true end local lastEmpty, start = true, nil local segments = {} for x=0, img.width-1 do empty = isEmpty(x) if empty and not lastEmpty then table.insert(segments, {start, x}) elseif not empty and lastEmpty then start = x end lastEmpty = empty end if not lastEmpty then table.insert(segments, {start, img.width}) end if #segments <= 1 then -- don't bother with only 1 segment return {} end local result = {} for _, seg in ipairs(segments) do local sx1, sx2 = unpack(seg) local cropped = { width = sx2-sx1, height = img.height, getInt = function(x, y) return img.getInt(x+sx1, y) end } local x1, y1, x2, y2 = getcrop(cropped) table.insert(result, newRectangle(x1+sx1, y1, x2-x1, y2-y1)) end return result end
Began life as a copy of #345
test run test run with input download show line numbers
Travelled to 12 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Image | Result | Result calculated |
---|---|---|
#84 | java.io.IOException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operat... | 2016-08-01 02:54:44 [raw result] [visualize] |
#87 | java.io.IOException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operat... | 2016-08-01 02:54:44 [raw result] [visualize] |
#92 | java.io.IOException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operat... | 2016-08-01 02:54:44 [raw result] [visualize] |
#93 | java.io.IOException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operat... | 2016-08-01 02:54:44 [raw result] [visualize] |
Snippet ID: | #478 |
Snippet name: | Horizontal split with crop (include) |
Eternal ID of this version: | #478/1 |
Text MD5: | cbc8adaf3de51544d5ca7de9cbeda693 |
Author: | stefan |
Category: | |
Type: | Lua code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2015-02-25 19:25:17 |
Source code size: | 1243 bytes / 54 lines |
Pitched / IR pitched: | No / Yes |
Views / Downloads: | 1073 / 187 |
Referenced in: | #480 - Horizontal split with crop 2 (include) #3000202 - Answer for stefanreich (>> T conversion bot) #3000238 - Answer for stefanreich (>> t power bot) #3000382 - Answer for ferdie (>> t = 1, f = 0) #3000383 - Answer for funkoverflow (>> t=1, f=0 okay) |