Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

25
LINES

< > BotCompany Repo | #1005709 // horizontalAutoSplit [uses column average brightness, for black on white text]

JavaX fragment (include)

static float horizontalAutoSplit_threshold = 0.99f;

static L<Rect> horizontalAutoSplit(BWImage img) {
  ret horizontalAutoSplit(img, horizontalAutoSplit_threshold);
}

static L<Rect> horizontalAutoSplit(BWImage img, float threshold) {
  int w = img.getWidth(), h = img.getHeight();
  float[] f = bwImageColumnBrightnesses(img);
  
  new L<Rect> l;
  int j = -1;
  for (int i = 0; i < l(f); i++)
    if (f[i] < threshold) { // start / continue streak
      if (j < 0) j = i; 
    } else {
      if (j >= 0) { // end streak
        l.add(new Rect(j, 0, i-j, h));
        j = -1;
      }
    }
  if (j >= 0)
    l.add(new Rect(j, 0, w-j, h));
  ret l;
}

Author comment

Began life as a copy of #1005703

download  show line numbers  debug dex  old transpilations   

Travelled to 15 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, ddnzoavkxhuk, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt

No comments. add comment

Snippet ID: #1005709
Snippet name: horizontalAutoSplit [uses column average brightness, for black on white text]
Eternal ID of this version: #1005709/2
Text MD5: d9afad283b938ffa58ddedfeebafba20
Author: stefan
Category: javax / ocr
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2018-10-08 00:52:43
Source code size: 675 bytes / 25 lines
Pitched / IR pitched: No / No
Views / Downloads: 528 / 560
Version history: 1 change(s)
Referenced in: #1005843 - horizontalAutoSplit2 - uses min brightness per column
#1006654 - Standard functions list 2 (LIVE, continuation of #761)
#1018616 - horizontalAutoSplit_inverse [uses column average brightness, for white on black text/audio]