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

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

?? blobls.c

?? NIST Handwriting OCR Testbed
?? C
?? 第 1 頁 / 共 2 頁
字號:
      if(do_xy2s){         blobls->blobs[i]->x2 = blobls->blobs[i]->x1 + blobls->blobs[i]->w - 1;         blobls->blobs[i]->y2 = blobls->blobs[i]->y1 + blobls->blobs[i]->h - 1;      }      if(do_cxys){         blobls->blobs[i]->cx = blobls->blobs[i]->x1 + (blobls->blobs[i]->w >>1);         blobls->blobs[i]->cy = blobls->blobs[i]->y1 + (blobls->blobs[i]->h >>1);      }      if(do_as){         blobls->blobs[i]->a = blobls->blobs[i]->w * blobls->blobs[i]->h;         if(do_pixcnt)            blobls->blobs[i]->pixcnt=pixelcnt8(blobls->blobs[i]->data,blobls->blobs[i]->a);      }      else if(do_pixcnt)         blobls->blobs[i]->pixcnt=pixelcnt8(blobls->blobs[i]->data,                                            blobls->blobs[i]->w * blobls->blobs[i]->h);   }   blobls->flags |= flags;}/*******************************************************************/compute_blob_stats(blob, flags)BLOB *blob;int flags;{   int do_pixcnt;/*   if(!(flags & BLOB_XY1S) || !(flags & BLOB_WHS))      fatalerr("compute_blob_stats",               "must have at least (x1, y1) and (w, h) already in blob structure",               NULL);*/   if(flags & BLOB_XY2S){      blob->x2 = blob->x1 + blob->w - 1;      blob->y2 = blob->y1 + blob->h - 1;   }   if(flags & BLOB_CXYS){      blob->cx = blob->x1 + (blob->w >>1);      blob->cy = blob->y1 + (blob->h >>1);   }   do_pixcnt = (flags & BLOB_PIXCNTS)?1:0;   if(flags & BLOB_AS){      blob->a = blob->w * blob->h;      if(do_pixcnt)         blob->pixcnt = pixelcnt8(blob->data, blob->a);   }   else if(do_pixcnt)      blob->pixcnt = pixelcnt8(blob->data, blob->w * blob->h);}/*******************************************************************/alloc_blob(blob)BLOB **blob;{   if(((*blob) = (BLOB *)malloc(sizeof(BLOB))) == NULL)      syserr("alloc_blob", "malloc", "blob");   (*blob)->data = (unsigned char *)NULL;}/*******************************************************************/free_blob(blob)BLOB *blob;{   if(blob->data != (unsigned char *)NULL)      free(blob->data);   free(blob);}/*******************************************************************/char2bin_blobls(blobls)BLOBLS *blobls;{   unsigned char *bdata;   int i, bw, bh;   if((blobls->bpp != 8) || (blobls->b_g != BLOB_BIN))      fatalerr("char2bin_blobls",               "input image data must be binary and one byte per pixel", NULL);   /* convert blobs to binary (8 bits per byte) */   for(i = 0; i < blobls->num; i++){      char2bin_exact(&bdata, &bw, &bh,                     blobls->blobs[i]->data, blobls->blobs[i]->w, blobls->blobs[i]->h);      free(blobls->blobs[i]->data);      blobls->blobs[i]->data = bdata;      blobls->blobs[i]->w = bw;      blobls->blobs[i]->h = bh;   }   blobls->bpp = 1;}/************************************************************/find_first_max_blob_memb(blobls, blob_offset, max_i, max_v)BLOBLS *blobls;int blob_offset, *max_i, *max_v;{   int i, val;   char *bptr;   *max_i = -1;   *max_v = -1;   for(i = 0; i < blobls->num; i++){      bptr = (char *)(blobls->blobs[i]);      val = *((int *)(bptr+blob_offset));      if(val > *max_v){         *max_v = val;         *max_i = i;      }   }}/************************************************************/float compute_avr_blob_memb(blobls, blob_offset)BLOBLS *blobls;int blob_offset;{   int sum = 0;   int i, val;   char *bptr;   float avr;   for(i = 0; i < blobls->num; i++){      bptr = (char *)(blobls->blobs[i]);      val = *((int *)(bptr+blob_offset));      sum += val;   }   avr = sum / (float)blobls->num;   return(avr);}/************************************************************/prct_blobls_memb(blobls, offset, prct)BLOBLS *blobls;int offset;float prct;{   BLOBLS *sblobls;   int topn, val;   char *bptr;   sort_blobls_on_memb(&sblobls, INC, blobls, offset);   topn = max(0, sround(sblobls->num * prct)-1);   bptr = (char *)(sblobls->blobs[topn]);   val = *((int *)(bptr+offset));   free(sblobls->blobs);   free(sblobls);   return(val);}/*************************************************************************/median_blob_memb(blobls, blob_offset)BLOBLS *blobls;int blob_offset;{   int i, *list, med;   char *bptr;   malloc_int(&list, blobls->num, "find_median_blob_memb: member list");   for(i = 0; i < blobls->num; i++){      bptr = (char *)(blobls->blobs[i]);      list[i] = *((int *)(bptr+blob_offset));   }   med = int_list_median(list, blobls->num);   free(list);   return(med);}/************************************************************/sort_blobls_on_memb(sblobls, order, blobls, blob_offset)BLOBLS **sblobls, *blobls;int order, blob_offset;{   int i;   char *bptr;   if(blobls->num == 0)      return;   build_blobls(sblobls, blobls->num, blobls->flags, blobls->bpp, blobls->b_g);   with_1_INDEX_alloc(istruct, blobls->num, INTTYPE)      for(i = 0; i < blobls->num; i++){         bptr = (char *)(blobls->blobs[i]);         add_to_1_INDEX(istruct, i, *((int *)(bptr+blob_offset)));      }      multisort_1_INDEX(istruct, order);      i = 0;      foreach_in_INDEX(istruct)         append_blobls((*sblobls), blobls->blobs[this_item_int]);      endfor   end_with_INDEX_alloc(istruct)}/************************************************************/is_blob_above(ablob, bblob)BLOB *ablob, *bblob;{   /* is first blob's bottom y above second blob's top y */   if(ablob->y2 < bblob->y1)      return(TRUE);   else      return(FALSE);}/************************************************************/find_blob_nbrs(li, ri, nnbrs, blob, blobls)int *li, *ri, *nnbrs;BLOB *blob;BLOBLS *blobls;{   /* Warning: blobls should already be sorted left to right */   (*ri) = 0;   while(((*ri) < blobls->num) && (blobls->blobs[(*ri)]->cx < blob->cx))      (*ri)++;   /* if only one nbr */   if(((*ri) == 0) || ((*ri) == blobls->num)){      *nnbrs = 1;      if((*ri) == blobls->num)         (*ri)--;      (*li) = (*ri);   }   else{      (*li) = (*ri) - 1;      *nnbrs = 2;   }}/************************************************************/find_ind_blob_nbrs(li, ri, nnbrs, blob, blobls, rank)int *li, *ri, *nnbrs;BLOB *blob;BLOBLS *blobls;int *rank;{   (*ri) = 0;   while(((*ri) < blobls->num) && (blobls->blobs[rank[(*ri)]]->cx < blob->cx))      (*ri)++;   /* if only one nbr */   if(((*ri) == 0) || ((*ri) == blobls->num)){      *nnbrs = 1;      if((*ri) == blobls->num)         (*ri)--;      (*li) = (*ri);   }   else{      (*li) = (*ri) - 1;      *nnbrs = 2;   }}/************************************************************/find_first_blob_inside(blob, blobls)BLOB *blob;BLOBLS *blobls;{   int bi;   for(bi = 0; bi < blobls->num; bi++){      if(is_box_inside(blob->x1, blob->y1, blob->x2, blob->y2,                       blobls->blobs[bi]->x1, blobls->blobs[bi]->y1,                       blobls->blobs[bi]->x2, blobls->blobs[bi]->y2))         return(bi);   }   return(NOT_FOUND);}/*************************************************************************/blob_hori_overlaps(laps_i, laps_d, nlaps, alaps, blobls, bi)BLOBLS *blobls;int **laps_i, **laps_d, *nlaps, *alaps, bi;{   int i, d;   BLOB *cptr, *nptr;   *nlaps = 0;   cptr = blobls->blobs[bi];   for(i = 0; i < blobls->num; i++){      if(i != bi){         nptr = blobls->blobs[i];         if(box_overlap_hori(cptr->x1, cptr->y1, cptr->x2, cptr->y2,                             nptr->x1, nptr->y1, nptr->x2, nptr->y2)){            /* reallocate lists if necessary */            if(*nlaps >= *alaps){               (*alaps) += BLOB_CHUNKS;               realloc_int(laps_i, *alaps, "blob_hori_overlaps : realloc : laps_i");               realloc_int(laps_d, *alaps, "blob_hori_overlaps : realloc : laps_d");            }            /* compute and store overlap distance and index */            d = (cptr->w + nptr->w) -                   (max(nptr->x2, cptr->x2) - min(nptr->x1, cptr->x1) + 1);            (*laps_i)[*nlaps] = i;            (*laps_d)[*nlaps] = d;            (*nlaps)++;         }      }   }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人avav影音| 国产欧美一区二区在线| 综合分类小说区另类春色亚洲小说欧美| 奇米色777欧美一区二区| 国产精品综合在线视频| 日韩欧美中文一区| 美女尤物国产一区| 亚洲精品在线三区| 精品亚洲国内自在自线福利| 日韩欧美的一区二区| 日韩黄色免费电影| 91精品国产乱| 奇米精品一区二区三区四区| 日韩美女一区二区三区| 久久精品av麻豆的观看方式| 日韩视频免费观看高清在线视频| 日韩精品一二区| 日韩欧美国产一区二区三区| 免费成人美女在线观看.| 制服丝袜亚洲网站| 男女男精品视频| 日韩欧美美女一区二区三区| 国产乱码精品一区二区三区av| 久久久久高清精品| 成人精品视频.| 日韩一区中文字幕| 色域天天综合网| 亚洲人吸女人奶水| 在线免费观看不卡av| 手机精品视频在线观看| 精品国产乱码久久久久久1区2区| 国产成人精品一区二区三区四区| 久久影院电视剧免费观看| 国产99久久精品| 国产精品成人网| 欧美日韩在线不卡| 国产在线国偷精品免费看| 成人欧美一区二区三区白人| 日韩一区二区在线播放| 9久草视频在线视频精品| 亚洲国产综合色| 久久精品网站免费观看| 色综合天天狠狠| 国产亚洲精品资源在线26u| 在线观看中文字幕不卡| 国产sm精品调教视频网站| 免费精品99久久国产综合精品| 亚洲人亚洲人成电影网站色| 精品粉嫩超白一线天av| 欧美视频一区二区三区在线观看 | 2欧美一区二区三区在线观看视频| 色婷婷亚洲婷婷| 成人午夜私人影院| 韩国女主播成人在线| 日韩制服丝袜av| 夜夜嗨av一区二区三区四季av| 国产视频视频一区| 欧美xxxxx牲另类人与| 欧美美女bb生活片| 色94色欧美sute亚洲线路一久 | 99久久精品国产观看| 国内精品免费**视频| 日本vs亚洲vs韩国一区三区| 亚洲va欧美va人人爽| 一区二区三区在线视频观看| 综合电影一区二区三区 | 日韩视频在线观看一区二区| 欧美日韩中字一区| 91福利在线看| 91精彩视频在线| 色一区在线观看| 92国产精品观看| 97久久精品人人做人人爽| 粉嫩高潮美女一区二区三区| 国产99精品视频| 成人免费的视频| eeuss鲁片一区二区三区 | 91在线porny国产在线看| 成人理论电影网| aaa欧美日韩| 日本道色综合久久| 欧美日韩久久久| 91麻豆精品国产91久久久资源速度| 欧美三级午夜理伦三级中视频| 欧美日韩成人综合| 91精品在线免费| 精品少妇一区二区| 国产偷国产偷精品高清尤物| 欧美国产一区二区| 亚洲视频在线一区二区| 亚洲永久免费视频| 手机精品视频在线观看| 久久99国产精品免费网站| 国产一区二区影院| 99在线精品观看| 欧洲中文字幕精品| 91麻豆精品国产91久久久更新时间 | 日本韩国精品在线| 欧美日韩另类一区| 久久这里只有精品视频网| 国产精品少妇自拍| 亚洲成人午夜电影| 国产在线视频一区二区| 95精品视频在线| 91精品国产综合久久精品| 久久精品夜色噜噜亚洲aⅴ| 1000精品久久久久久久久| 亚洲精品国产成人久久av盗摄| 亚洲v精品v日韩v欧美v专区| 国产真实乱子伦精品视频| 99久久精品免费| 777久久久精品| 中文字幕免费在线观看视频一区| 亚洲同性同志一二三专区| 日韩电影网1区2区| 成人av影院在线| 777午夜精品视频在线播放| 国产日韩欧美不卡在线| 午夜精品免费在线| 国产精品一区二区视频| 在线观看亚洲专区| 国产亚洲视频系列| 亚洲成人午夜电影| 成人免费毛片嘿嘿连载视频| 91麻豆精品国产91久久久| 国产精品久久久久一区| 日韩vs国产vs欧美| 成人18视频日本| 精品国产伦一区二区三区免费 | 激情六月婷婷综合| 日本高清不卡一区| 中文字幕高清一区| 日日夜夜免费精品视频| 99r精品视频| 国产色产综合色产在线视频| 香蕉久久一区二区不卡无毒影院 | 国产精品成人午夜| 精品一区二区三区在线播放| 欧美午夜片在线观看| 久久久91精品国产一区二区精品 | 91色综合久久久久婷婷| 精品国免费一区二区三区| 午夜久久久影院| 在线观看免费一区| 国产精品女同互慰在线看| 国产在线一区二区综合免费视频| 欧美妇女性影城| 青青草国产精品97视觉盛宴| 97精品久久久午夜一区二区三区| 26uuu欧美日本| 美腿丝袜亚洲综合| 91精品国产麻豆| 午夜私人影院久久久久| 色成年激情久久综合| 国产精品毛片久久久久久久| 国产精品一二一区| 久久综合色之久久综合| 精品在线免费观看| 欧美一区二区三区四区在线观看| 亚洲午夜免费福利视频| 欧美在线观看视频一区二区| 一级中文字幕一区二区| 91老师片黄在线观看| 亚洲激情一二三区| 欧美性一区二区| 亚洲国产一区二区视频| 欧美三级一区二区| 午夜免费欧美电影| 欧美一级淫片007| 精品一区在线看| 精品国产免费久久 | 轻轻草成人在线| 欧美精三区欧美精三区| 日韩成人一区二区| 精品理论电影在线| 国产精品一区二区不卡| 国产日韩视频一区二区三区| 成人动漫在线一区| 亚洲日韩欧美一区二区在线| 在线观看视频欧美| 日韩国产高清在线| 精品久久免费看| a在线欧美一区| 亚洲欧美视频在线观看视频| 在线精品亚洲一区二区不卡| 日韩国产在线观看| 欧美精品一区在线观看| 成人综合婷婷国产精品久久蜜臀| 国产精品国产三级国产普通话三级 | 亚洲精品ww久久久久久p站| 欧美日韩国产中文| 久久99精品久久久久久| 国产精品国产三级国产普通话三级| 色综合咪咪久久| 美女一区二区三区在线观看| 26uuu国产电影一区二区| av一二三不卡影片| 日本免费新一区视频| 久久久久久久精| 91福利资源站|