亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rm_box.c

?? NIST Handwriting OCR Testbed
?? C
字號:
/*# proc: rm_box_long_hori_sides - removes the relatively long top and bottom# proc:                     sides of a box from within a binary char field image.# proc: rm_box_long_vert_sides - carefully removes the  left and right vertical# proc:                     sides of a box from within a binary char field image.# proc: rm_box_short_vert_sides - removes the relatively short left and right vertical# proc:                     sides of a box from within a binary char field image.*/#include <stdio.h>#include <defs.h>#define SHORT_VERT_WINDOW  0.125  /* 8th of an inch */#define LONG_VERT_WINDOW   0.0625  /* 16th of an inch */#define SHORT_PRCT_LENGTH  0.9#define LONG_PRCT_LENGTH   0.75#define SEARCH_WINDOW      0.5/*******************************************************************/rm_box_long_hori_lines(pts1x, pts1y, msws1, npts1, pts2x, pts2y, msws2, npts2,                          cdata, bw, bh, bpi)int **pts1x, **pts1y, **msws1, *npts1;int **pts2x, **pts2y, **msws2, *npts2;unsigned char *cdata;int bw, bh, bpi;{   int sy2, sh1, sh2;   sh1 = bh>>1;   sy2 = sh1;   sh2 = bh - sh1;   if((rm_long_hori_line(pts1x, pts1y, msws1, npts1,                     cdata, bw, sh1, bpi, None) == NOT_FOUND) ||      (rm_long_hori_line(pts2x, pts2y, msws2, npts2,                    (cdata + (sy2*bw)), bw, sh2, bpi, None) == NOT_FOUND))      return(NOT_FOUND);   else      return(FOUND);}/***********************************************************************************/rm_box_long_vert_sides(p1x, p1y, np1, p2x, p2y, np2, cdata, w, h, bpi)int *p1x, *p1y, np1, *p2x, *p2y, np2;unsigned char *cdata;int w, h, bpi;{   int n1, dx, dw, sw, limit;   int li, lx, ri, rx;   int r2i;   int lx1, ly1, lx2, lw, lh, llen, e1, e2;   int rx1, ry1, rx2, rw, rh;   unsigned char *sdata, *rdata, *mallocate_image();   int *pts1x, *pts1y, *msws1, npts1;   int *pts2x, *pts2y, *msws2, npts2;   int *t1x, *t1y, tnp;   /* 1/2 window size in pixels */   dx = sround(bpi * LONG_VERT_WINDOW);   sw = sround(bpi * SEARCH_WINDOW);   n1 = min(np2, min(sw, np1 >> 1));   /* list endpoints */   e1 = np1 - 1;   e2 = np2 - 1;   /* line length threshold */   limit = sround(LONG_PRCT_LENGTH * max(p2y[0]-p1y[0],p2y[e2]-p1y[e1]));   /* allocate for the working space images */   dw = (dx<<1)+1;   sdata = mallocate_image(dw, h, 8);   rdata = mallocate_image(h, dw, 8);   /* locate leftmost black pixel along lines */   if((li = find_pix_fwd_on_line(1, 0, n1, p1x, p1y, np1, cdata, w, h)) != NOT_FOUND)      lx = p1x[li];   else if((li = find_pix_fwd_on_line(1, 0, n1, p2x, p2y, np2, cdata, w, h)) != NOT_FOUND)      lx = p2x[li];   else{      /* otherwise, split the difference */      li = 0;      lx = (p1x[0] + p2x[0])>>1;   }   lx1 = max(0, lx - dx);   lx2 = min(w-1, lx + dx);   ly1 = 0;   lw = lx2 - lx1 + 1;   lh = h;   subimage_copy(cdata, w, h, sdata, lw, lh, lx1, ly1, lw, lh, 0, 0);   grayscale_rotate_90(sdata, rdata, lw, lh);   if(rm_long_hori_line(&pts1x, &pts1y, &msws1, &npts1,                        rdata, lh, lw, bpi, limit) != NOT_FOUND){      grayscale_rotate_n90(rdata, sdata, lh, lw);      subimage_copy(sdata, lw, lh, cdata, w, h, 0, 0, lw, lh, lx1, ly1);      free(pts1x);      free(pts1y);      free(msws1);   }   /* locate rightmost black pixel along lines */   if((ri = find_pix_bwd_on_line(1, e1, max(0,e1-n1), p1x, p1y, np1,                                 cdata, w, h)) != NOT_FOUND){      rx = p1x[ri];      t1x = p1x;      t1y = p1y;      tnp = np1;   }   else if((ri = find_pix_bwd_on_line(1, e2, max(0,e2-n1), p2x, p2y, np2,                                      cdata, w, h)) != NOT_FOUND){      rx = p2x[ri];      t1x = p2x;      t1y = p2y;      tnp = np2;   }   else{      ri = e1;      rx = (p1x[e1]+p2x[e2])>>1;      t1x = p1x;      t1y = p1y;      tnp = np1;   }   rx1 = max(0, rx - dx);   rx2 = min(w-1, rx + dx);   ry1 = 0;   rw = rx2 - rx1 + 1;   rh = h;   subimage_copy(cdata, w, h, sdata, rw, rh, rx1, ry1, rw, rh, 0, 0);   grayscale_rotate_90(sdata, rdata, rw, rh);   if(rm_long_hori_line(&pts2x, &pts2y, &msws2, &npts2,                        rdata, rh, rw, bpi, limit) != NOT_FOUND){      grayscale_rotate_n90(rdata, sdata, rh, rw);      subimage_copy(sdata, rw, rh, cdata, w, h, 0, 0, rw, rh, rx1, ry1);      free(pts2x);      free(pts2y);      free(msws2);   }   /* if previous right window too close to edge of image ... */   /* then maybe there is 2 right edges, 1 from current box and */   /* one from right neighbor box */   if(w - rx < dx){      if((r2i = find_pix_bwd_on_line(1, max(0,ri-1), max(0,ri-n1), t1x, t1y, tnp,                                    cdata, w, h)) != NOT_FOUND){         rx = t1x[r2i];         rx1 = max(0, rx - dx);         rx2 = min(w-1, rx + dx);         ry1 = 0;         rw = rx2 - rx1 + 1;         rh = h;         subimage_copy(cdata, w, h, sdata, rw, rh, rx1, ry1, rw, rh, 0, 0);         grayscale_rotate_90(sdata, rdata, rw, rh);         if(rm_long_hori_line(&pts2x, &pts2y, &msws2, &npts2,                              rdata, rh, rw, bpi, limit) != NOT_FOUND){            grayscale_rotate_n90(rdata, sdata, rh, rw);            subimage_copy(sdata, rw, rh, cdata, w, h, 0, 0, rw, rh, rx1, ry1);            free(pts2x);            free(pts2y);            free(msws2);         }      }   }   free(sdata);   free(rdata);}/***********************************************************************************/rm_box_short_vert_sides(p1x, p1y, np1, p2x, p2y, np2, cdata, w, h, bpi)int *p1x, *p1y, np1, *p2x, *p2y, np2;unsigned char *cdata;int w, h, bpi;{   int dx, lx1, ly1, lx2, ly2, lw, lh, llen, e1, e2;   int rx1, ry1, rx2, ry2, rw, rh, rlen;   int *bins, blen;   int lthresh, rthresh;   unsigned char *sdata, *mallocate_image();   int mi, mv, fi, fv, ti, tv;   dx = sround(bpi * SHORT_VERT_WINDOW);   lx1 = max(0, min(p1x[0], p2x[0]) - dx);   lx2 = min(w-1, max(p1x[0], p2x[0]) + dx);   ly1 = p1y[0];   ly2 = p2y[0];   lw = lx2 - lx1 + 1;   lh = ly2 - ly1 + 1;   llen = lw * lh;   e1 = np1-1;   e2 = np2-1;   rx1 = max(0, min(p1x[e1], p2x[e2]) - dx);   rx2 = min(w-1, max(p1x[e1], p2x[e2]) + dx);   ry1 = p1y[e1];   ry2 = p2y[e2];   rw = rx2 - rx1 + 1;   rh = ry2 - ry1 + 1;   rlen = rw * rh;   /* allocate for the larger of the 2 regions */   if(llen > rlen)      sdata = mallocate_image(lw, lh, 8);   else      sdata = mallocate_image(rw, rh, 8);   subimage_copy(cdata, w, h, sdata, lw, lh, lx1, ly1, lw, lh, 0, 0);   chr_y_hist(sdata, lw, lh, &bins, &blen);   lthresh = sround(SHORT_PRCT_LENGTH * lh);   if(find_first_thresh_forward(bins, 0, blen, lthresh, &mi, &mv)){     find_first_min_backward(bins, mi, 0, &fi, &fv);     find_first_min_forward(bins, mi, blen, &ti, &tv);     subimage_zeroes(cdata, w, h, lx1+fi, 0, ti-fi+1, h);   }   else{     fprintf(stderr, "Warning: rm_box_short_vert_sides: left vertical edge not found\n");   }   free(bins);   subimage_copy(cdata, w, h, sdata, rw, rh, rx1, ry1, rw, rh, 0, 0);   chr_y_hist(sdata, rw, rh, &bins, &blen);   rthresh = sround(SHORT_PRCT_LENGTH * rh);   if(find_first_thresh_forward(bins, 0, blen, rthresh, &mi, &mv)){     find_first_min_backward(bins, mi, 0, &fi, &fv);     find_first_min_forward(bins, mi, blen, &ti, &tv);     subimage_zeroes(cdata, w, h, rx1+fi, 0, ti-fi+1, h);   }   else{     fprintf(stderr, "Warning: rm_box_short_vert_sides: right vertical edge not found\n");   }   free(bins);   free(sdata);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产成人在线| 日韩精品免费视频人成| 午夜精品福利一区二区三区蜜桃| 日本欧美一区二区三区| 91视视频在线观看入口直接观看www | 亚洲欧美激情在线| 国内精品久久久久影院薰衣草 | 亚洲丶国产丶欧美一区二区三区| 国产在线播放一区三区四| 欧美日韩免费在线视频| 国产精品国产a级| 国产精品一级片| 精品免费视频一区二区| 日韩成人免费电影| 91精品免费观看| 亚洲18女电影在线观看| 在线视频你懂得一区| 亚洲国产精品成人综合色在线婷婷 | 国产精品护士白丝一区av| 久久不见久久见免费视频1| 欧美日韩五月天| 亚洲电影一区二区| 91成人在线观看喷潮| 亚洲图片另类小说| 色综合久久久久久久久| 亚洲欧美色综合| 91丨九色丨尤物| 亚洲精品第一国产综合野| 91亚洲精品一区二区乱码| 1024精品合集| 在线亚洲高清视频| 亚洲午夜电影在线| 欧美丰满少妇xxxxx高潮对白 | 亚洲品质自拍视频网站| eeuss鲁一区二区三区| 国产精品黄色在线观看| 99视频一区二区| 亚洲精选一二三| 色av综合在线| 日本中文字幕一区二区视频| 7777精品久久久大香线蕉 | 午夜欧美视频在线观看| 在线电影国产精品| 免费高清在线一区| 久久免费电影网| 99精品视频在线免费观看| 一区二区三区91| 欧美一区二区三区四区在线观看| 久久精品99久久久| 中文av一区二区| 欧美综合在线视频| 久久黄色级2电影| 国产精品欧美一区二区三区| 在线观看av一区| 久久精品国产一区二区三| 欧美激情一区在线观看| 欧美午夜电影在线播放| 蜜臀av一级做a爰片久久| 国产拍揄自揄精品视频麻豆| 欧美唯美清纯偷拍| 国产一区二区三区高清播放| 成人欧美一区二区三区1314| 7777精品久久久大香线蕉| 国产麻豆91精品| 国产精品福利电影一区二区三区四区| 91高清在线观看| 韩国欧美国产1区| 一区二区三区四区五区视频在线观看 | 亚洲一区在线免费观看| 日韩一二三区视频| 91猫先生在线| 久久精品国产成人一区二区三区| 成人免费在线视频| 久久久久久久久久久99999| 精品视频一区三区九区| 国产激情一区二区三区桃花岛亚洲| 亚洲资源在线观看| 中文天堂在线一区| 欧美成人一区二区三区片免费| 91麻豆蜜桃一区二区三区| 久久精品国产**网站演员| 最新日韩在线视频| 久久精品视频一区二区三区| 欧美剧情电影在线观看完整版免费励志电影 | 日本精品视频一区二区| 国产一区二区三区在线看麻豆| 亚洲成人免费观看| 亚洲三级免费观看| 日本一区二区三区电影| 日韩欧美美女一区二区三区| 欧美性xxxxxx少妇| 在线免费观看日本一区| 成人国产视频在线观看| 国产精品乡下勾搭老头1| 日韩av不卡在线观看| 亚洲综合精品久久| 国产精品国产三级国产普通话三级| 日韩精品一区二区三区视频播放 | 国产精品午夜在线| 久久老女人爱爱| 欧美哺乳videos| 91精品国产91综合久久蜜臀| 欧美日韩国产综合久久 | 久久夜色精品一区| 欧美成人伊人久久综合网| 制服丝袜激情欧洲亚洲| 欧美日韩国产中文| 欧美日韩一级二级三级| 欧美色图在线观看| 欧美在线不卡视频| 欧美日韩一区二区三区四区五区| 欧洲国内综合视频| 欧美精品在线一区二区三区| 欧美性色综合网| 欧美日韩mp4| 日韩一区二区三区电影在线观看 | 中文字幕久久午夜不卡| 国产精品水嫩水嫩| 综合久久久久久久| 一区二区三区欧美视频| 亚洲成人自拍一区| 日本欧美加勒比视频| 精品一区二区成人精品| 国产一区二区调教| 国产精品一区二区在线播放| 成人黄色片在线观看| www.激情成人| 欧洲一区二区av| 4438x亚洲最大成人网| 久久夜色精品一区| 亚洲视频你懂的| 午夜在线电影亚洲一区| 麻豆精品在线视频| 成人免费高清视频在线观看| 91麻豆国产香蕉久久精品| 欧美精品乱码久久久久久| 精品国内二区三区| 亚洲欧美怡红院| 婷婷夜色潮精品综合在线| 国产一区999| 色欧美88888久久久久久影院| 欧美精品高清视频| 国产无一区二区| 亚洲午夜av在线| 国产69精品久久99不卡| 在线观看视频一区二区欧美日韩| 欧美一区二区视频在线观看| 国产亚洲一区二区在线观看| 亚洲嫩草精品久久| 久久精品999| 在线视频国内自拍亚洲视频| 精品国产欧美一区二区| 亚洲精品中文在线| 国产综合一区二区| 欧美性感一区二区三区| 久久精品这里都是精品| 亚洲一区免费视频| 国产成a人亚洲| 日韩欧美中文字幕公布| 最新国产成人在线观看| 激情综合网最新| 欧美日韩精品三区| 国产精品不卡一区| 国产麻豆精品在线观看| 宅男在线国产精品| 亚洲综合色在线| 大白屁股一区二区视频| 日韩欧美一二区| 亚洲成人精品一区| 99vv1com这只有精品| 久久久亚洲欧洲日产国码αv| 亚洲成人动漫在线观看| 色综合久久久久| 国产欧美一区二区在线| 毛片一区二区三区| 久久久亚洲精品石原莉奈| av一本久道久久综合久久鬼色| 污片在线观看一区二区| 亚洲欧洲成人精品av97| 欧美一区三区二区| 亚洲精品久久久久久国产精华液| 精品一区二区三区蜜桃| 一本大道久久a久久精品综合| 国产女人18水真多18精品一级做| 中文字幕乱码久久午夜不卡| 久久99精品一区二区三区三区| 欧美日韩免费电影| 18涩涩午夜精品.www| 成人免费高清在线| 欧美国产在线观看| 国产成人av电影在线播放| 久久欧美一区二区| 国产在线视频一区二区| 欧美电影免费观看高清完整版在线| 亚洲www啪成人一区二区麻豆| 欧美在线免费视屏| 首页亚洲欧美制服丝腿| 91精品国产综合久久精品| 日韩专区欧美专区| 欧美一卡在线观看|