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

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

?? trcorner.c

?? NIST Handwriting OCR Testbed
?? C
字號:
/*# proc: rm_tr_corner_1_sided - removes the top-right corner of line data# proc:                using a slope projection from one side.# proc: rm_tr_corner_2_sided - removes the top-right corner of line data# proc:                by projecting a cut line between two points.# proc: tr_corner_cut_slope - determines the slope for cutting off the# proc:                top-right corner of line data.# proc: sum_dys_tr_corner - computes changes in y used to estimate the# proc:                slope along which the top-right corner will be cut.*/#include <stdio.h>#include <values.h>#include <defs.h>#include <rmline.h>#include <mytrace.h>/***************************************************************************//* rm_tr_corner_1_sided - removes the top-right corner of line data using  *//* a slope projection from the character data on the bottom side of the    *//* corner.                                                                 *//***************************************************************************/rm_tr_corner_1_sided(rs, re, msw, ebin, sw, fsy, tsy, nsw, cdata, w, h)int rs, re, msw, *ebin, *sw, *fsy, *tsy, nsw;unsigned char *cdata;int w, h;{   int rx, ry;   float rm;   int crx, slimit;   int take_step;   /* determine the slope of the cut, from the character data on the */   /* bottom-right side of the corner */   tr_corner_cut_slope(&rm, &rx, &ry, rs, re, msw, ebin, fsy, tsy, nsw, cdata, w, h);   /* can't have cut with negative slope if really tr corner */   if((rm == MAXFLOAT) || (rm < 0.0)) {      my_trace("tr corner not found\n");      return;   }   /* project cut from the white pixel above ry */   ry = max(0, ry-1);   crx = rx;   slimit = step_limit2(msw);   take_step = TRUE;   /* while right steps do not exceed the left edge of the run of unerased slices */   /* and other stopping conditions not met ... */   while((crx >= rs) && (take_step)){      /* take next step */      take_step = process_t_corner_slice(crx, rm, rx, ry, rs, re, slimit,                                          ebin, sw, fsy, tsy, nsw, cdata, w, h);      crx--;   }}/***************************************************************************//* rm_tr_corner_2_sided - removes the top-right corner of line data by     *//* projecting a cut line connecting the bottom-right of the run of         *//* unerased slices to the top-left point where the 2nd derivative elbow    *//* (or inflection) was detected.                                           *//***************************************************************************/rm_tr_corner_2_sided(elbow_x, rs, re, msw, ebin, sw, fsy, tsy, nsw, cdata, w, h)int elbow_x, rs, re, msw, *ebin, *sw, *fsy, *tsy, nsw;unsigned char *cdata;int w, h;{   int rx, ry;   float rm, compute_slope();   int crx, slimit;   int take_step;   rx = re;   crx = rx;   ry = tsy[min(w-1, re+1)];   slimit = step_limit(msw);   /* compute the slope of the cut line projection */   rm = compute_slope((float)rx, (float)ry, (float)elbow_x, (float)fsy[elbow_x]);   take_step = TRUE;   /* while right steps do not exceed the elbow */   /* and other stopping conditions not met ... */   while((crx >= elbow_x) && (take_step)){      /* take step */      take_step = process_t_corner_slice(crx, rm, rx, ry, rs, re, slimit,                                          ebin, sw, fsy, tsy, nsw, cdata, w, h);      crx--;   }}/***************************************************************************//* tr_corner_cut_slope - determines the slope of the cut for a top-right   *//* corner by measuring first derivative changes in y between the bottom of *//* the line to the character data on the bottom-right side of the corner   *//* for a specified duration.                                               *//***************************************************************************/tr_corner_cut_slope(rm, rx, ry, rs, re, msw, ebin, fsy, tsy, nsw, cdata, w, h)float *rm;int *rx, *ry;int rs, re, msw, *ebin, *fsy, *tsy, nsw;unsigned char *cdata;int w, h;{   int rdys, nrdys;   /* measure the first derivative changes in y between the bottom of the line */   /* and the character data on the bottom-right side of a top-right corner. *//*                   ----------------                      |    xxxx|                      |      xx|                   ----------------                      |        \  ^                                \ | delta ys                                 \v                                  \*/   sum_dys_tr_corner(&rdys, &nrdys, rx, ry, rs, re, msw, ebin, fsy, tsy, nsw, cdata, w, h);   /* if charater data was found to compute delta ys ... */   if(nrdys != 0){      /* calculate the slope from the delta y's */      *rm = rdys /(float)nrdys;   }   /* otherwise the slope is vetical */   else      *rm = MAXFLOAT;   my_trace1("tr corner cut slope = %f\n", *rm);}/***************************************************************************//* sum_dys_tr_corner - measures the first derivative changes in y between  *//* the bottom of the line and the character data on the bottom-right side  *//* of a top-right corner for a specified duration. The resulting delta ys  *//* are used to compute a slope along which the top-right corner will be    *//* cut.                                                                    *//***************************************************************************/sum_dys_tr_corner(rdys, nrdys, rx, ry, rs, re, msw, ebin, fsy, tsy, nsw, cdata, w, h)int *rdys, *nrdys, *rx, *ry;int rs, re, msw, *ebin, *fsy, *tsy, nsw;unsigned char *cdata;int w, h;{   int i, x, sum = 0, c = 0, diff, max_y;   int oy, ny, slimit;   /* if there is no data to the right of the run of unerased slices ... */   if(re == (nsw - 1)){      /* return 0 delta dys ==> vertical slope */      *rdys = 0;      *nrdys = 0;      *rx = re;      *ry = tsy[re];      return;   }   /* start dys to the right of the run of unerased slices */   x = re + 1;   /* locate the first black pixel downward */   /* this black pixel "should" be part of the character data */   max_y = h - 1;   if((oy = find_pix_south(BLACK_PIX, x, min(tsy[x]+1,max_y), cdata, w, h)) != NOT_FOUND){      slimit = step_limit(msw);      /* compute the distance between the bottom of the line and the */      /* character data */     diff = oy - tsy[x];   }   /* if character data not found */   /* OR the delta is too big ... */   if((oy == NOT_FOUND) || (diff > slimit)){      /* return 0 delta dys ==> vertical slope */      *rdys = 0;      *nrdys = 0;      *rx = x;      *ry = tsy[x];      return;   }   /* store the very first point of the character data */   /* to the right of the run of unerased slices */   *rx = x;   *ry = oy;   /* bump to the next slice on right */   x++;   /* for the specified duration */   /* AND while slices to the right */   /* AND while curent slice has been erased ... */   for(i = 1; (i < RUN_DYS)&&(x<w)&&(ebin[x] == ERASED); i++,x++){      /* find the edge of the character data downward */      if((ny = find_pix_south(BLACK_PIX, x, min(tsy[x]+1,max_y), cdata, w, h)) != NOT_FOUND)         /* compute change in previous and current slices' character data ys */         diff = (ny - oy);      /* if character data not found */      /* OR the delta is too big, then stop computing delta ys */      if((ny == NOT_FOUND) || (diff > slimit))         break;      /* otherwise accumulate new delta y */      sum += diff;      oy = ny;      c++;   }   *rdys = sum;   *nrdys = c;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成在线播放网站岛国| 国产盗摄女厕一区二区三区| 精品一区二区三区在线播放| 成人午夜精品在线| 欧美午夜一区二区| 国产精品理论片在线观看| 免费在线观看一区二区三区| 日本精品视频一区二区三区| 国产欧美一区二区在线观看| 日本不卡一区二区| 色综合久久天天| 国产蜜臀97一区二区三区| 天天综合天天综合色| jvid福利写真一区二区三区| 欧美一激情一区二区三区| 中文字幕免费不卡| 国产精选一区二区三区| 91精品国产91综合久久蜜臀| 亚洲综合另类小说| 在线一区二区观看| 日韩一区中文字幕| thepron国产精品| 中文字幕第一区综合| 国产精品一二三四区| 精品日韩在线一区| 久久国产成人午夜av影院| 宅男噜噜噜66一区二区66| 国产精品国模大尺度视频| 国产成人精品1024| 久久久久久麻豆| 国产精品一线二线三线| 精品成人免费观看| 国产精品综合久久| 国产精品全国免费观看高清| 国产经典欧美精品| 久久久夜色精品亚洲| 激情综合网激情| 国产亚洲精品超碰| 国产成人在线视频网站| 久久久久国产精品麻豆| 国产福利91精品一区二区三区| 久久亚洲免费视频| 粉嫩在线一区二区三区视频| 中文字幕不卡三区| 91麻豆123| 亚洲成人免费影院| 日韩一区二区三区精品视频| 国产中文字幕一区| 日本一区二区三区四区| k8久久久一区二区三区| 亚洲一区在线看| 日韩欧美激情四射| 成人激情小说网站| 亚洲影视在线播放| 日韩免费一区二区| 成人av电影免费在线播放| 亚洲永久免费视频| 精品国产一区二区精华| 91视频com| 午夜激情一区二区| 国产人久久人人人人爽| 色国产精品一区在线观看| 麻豆一区二区在线| 国产精品成人在线观看| 欧美图片一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 国产欧美日韩激情| 欧美日韩国产免费| 国产高清在线观看免费不卡| 亚洲乱码国产乱码精品精98午夜| 91精品啪在线观看国产60岁| 成人免费视频免费观看| 香蕉乱码成人久久天堂爱免费| 精品国产一区二区国模嫣然| 色狠狠av一区二区三区| 国产精品91一区二区| 日欧美一区二区| 亚洲欧洲综合另类| 国产日产亚洲精品系列| 9191久久久久久久久久久| av爱爱亚洲一区| 国产精品综合av一区二区国产馆| 亚洲午夜电影网| 最好看的中文字幕久久| 久久婷婷国产综合国色天香 | 亚洲男人的天堂在线aⅴ视频| 91精品一区二区三区久久久久久| 北岛玲一区二区三区四区| 六月丁香婷婷久久| 午夜激情一区二区| 一卡二卡三卡日韩欧美| 国产精品三级电影| 欧美一区二区福利在线| 在线免费视频一区二区| 成人免费视频免费观看| 国产一区二区三区久久久 | 国产盗摄视频一区二区三区| 水蜜桃久久夜色精品一区的特点| 国产精品美女久久久久高潮| 久久亚洲二区三区| 欧美成人一级视频| 日韩精品中午字幕| 欧美日韩高清影院| 欧美性猛交xxxx乱大交退制版| eeuss鲁片一区二区三区在线看| 久久不见久久见免费视频1| 日韩高清一级片| 亚洲va国产va欧美va观看| 亚洲美女一区二区三区| 亚洲国产精品二十页| 国产三级欧美三级日产三级99| 日韩一区二区三区av| 欧美一级理论片| 欧美大片在线观看一区二区| 日韩一区二区麻豆国产| 日韩精品中文字幕一区二区三区 | 国产成人av电影| 成人永久aaa| 成人小视频免费观看| 成人亚洲一区二区一| 国产91丝袜在线播放0| 成人一区二区三区视频| 不卡免费追剧大全电视剧网站| 成人短视频下载| 日本二三区不卡| 欧美日韩免费一区二区三区 | 日韩二区三区四区| 免费人成黄页网站在线一区二区| 蜜臀av一区二区在线观看| 九九九久久久精品| 成人综合婷婷国产精品久久蜜臀 | 福利一区福利二区| 99久久国产综合精品女不卡| 在线国产电影不卡| 欧美二区三区91| 精品国产一区a| 国产精品视频九色porn| 亚洲一区二区三区在线看| 日韩和欧美一区二区| 国产一区二区中文字幕| 99re视频精品| 制服丝袜在线91| 中文成人综合网| 亚洲国产欧美在线| 久久66热偷产精品| 99国产精品久久| 欧美色综合久久| 精品国产3级a| 亚洲综合视频网| 久久国产麻豆精品| 色噜噜久久综合| 精品毛片乱码1区2区3区 | 精品国产乱码久久久久久久| 国产精品初高中害羞小美女文| 午夜国产精品影院在线观看| 成人午夜精品在线| 91精品国产欧美一区二区| 国产精品剧情在线亚洲| 美女视频一区二区三区| 99在线精品观看| 精品久久国产老人久久综合| 亚洲欧美另类综合偷拍| 经典三级在线一区| 日本道精品一区二区三区| 精品乱人伦一区二区三区| 一区二区欧美国产| 国产一区不卡视频| 欧美精品精品一区| 亚洲激情在线激情| 国产成人av一区| 精品国产一区二区三区忘忧草| 一区二区三区在线视频免费 | 一区二区三区在线不卡| 国产麻豆午夜三级精品| 7777精品伊人久久久大香线蕉| 欧美激情在线观看视频免费| 久久精品国内一区二区三区| 欧美网站一区二区| 亚洲免费观看视频| 国产91丝袜在线观看| 久久综合久色欧美综合狠狠| 日韩一区欧美二区| 欧美影院午夜播放| 亚洲美腿欧美偷拍| 91日韩精品一区| 国产精品国产三级国产aⅴ无密码| 粉嫩av一区二区三区| 日韩精品一区二区三区三区免费| 亚洲国产另类av| 欧美日韩一区小说| 亚洲国产美女搞黄色| 欧美午夜一区二区三区| 亚洲午夜激情网站| 欧美日韩综合在线免费观看| 亚洲欧美另类久久久精品2019| 99国产精品国产精品久久| 国产精品短视频| 色狠狠一区二区| 性做久久久久久久久| 欧美丰满美乳xxx高潮www|