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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rotate.c

?? NIST Handwriting OCR Testbed
?? C
字號:
/*proc: rotate_push8_int - rotates a charimage about a point using an efficientproc:	    pixel pushing algorithm and integer arithmetic - fast but "noisy"proc: rotate_push8_float - rotates a charimage about a point using an efficientproc:	    pixel pushing algorithm and float arithmetic - fastproc: rotate_push8 - rotates a charimage about a point using an efficientproc:		     pixel pushing algorithmproc: rot_push_params - calculates the transformation parameters ahead ofproc:			the pushing rotationproc: rotntrans_push_params - calculates the push transformation parameters forproc:                         both rotation and translation.proc: push_param3_chrimage - applies the supplied push transformation to aproc:			     charimage# proc: grayscale_rotate_90 - rotates a grayscale image exactly 90 degrees# proc:                       clockwise by copying pixel rows to pixel columns.# proc: grayscale_rotate_n90 - rotates a grayscale image exactly -90 degrees# proc:                 counter-clockwise by copying pixel rows to pixel columns.*/#include <stdio.h>#include <math.h>#include <lsq3.h>#include <defs.h>/*************************************************************************/rotate_push8_int(cdata, rdata, w, h, cenx, ceny, theta)unsigned char *cdata, *rdata;int w, h, cenx, ceny; float theta;{unsigned char *src, **add;int x, xprime, y, yprime;float s, c, yc, xc, py, px;int ssyy, ccyy, *c_x, *s_x;   theta /= -DEG2RAD;   s = (float)sin((double)theta);   c = (float)cos((double)theta);   yc = (float)ceny;   xc = (float)cenx;   px = yc*s - xc*c + xc;   py = yc - yc*c - xc*s;    malloc_int(&c_x, w, "rotate_push8_int : c_x");   malloc_int(&s_x, w, "rotate_push8_int : s_x");   malloc_dbl_uchar_l1(&add, h, "rotate_push8_int : add");   for ( y = 1, add[0] = rdata ; y < h ; y++ )      add[y] = add[y-1] + w;   for ( x = 0 ; x < w ; x++ )      c_x[x] = sround(c*x),      s_x[x] = sround(s*x);   for ( y = 0, src = cdata ; y < h ; y++ )   {      ssyy = sround(px - s * y);      ccyy = sround(py + c * y);      for ( x = 0 ; x < w ; x++ )         if (*src++)         {            xprime = c_x[x] + ssyy; /* integer arithmetic ! */            yprime = s_x[x] + ccyy;            if (xprime>=0 && xprime < w && yprime>=0 && yprime < h)               *(add[yprime] + xprime) = 1;         }   }   free(c_x); free(s_x); free(add);}/*************************************************************************/rotate_push8_float(cdata, rdata, w, h, cenx, ceny, theta)unsigned char *cdata, *rdata;int w, h, cenx, ceny; float theta;{unsigned char *src, **add;int x, xprime, y, yprime;float s, c, yc, xc, py, px;float ssyy, ccyy, *c_x, *s_x;   theta /= -DEG2RAD;   s = (float)sin((double)theta);   c = (float)cos((double)theta);   yc = (float)ceny;   xc = (float)cenx;   px = yc*s - xc*c + xc;   py = yc - yc*c - xc*s;    malloc_flt(&c_x, w, "rotate_push8_float : c_x");   malloc_flt(&s_x, w, "rotate_push8_float : s_x");   malloc_dbl_uchar_l1(&add, h, "rotate_push8_float : add");   for ( y = 1, add[0] = rdata ; y < h ; y++ )      add[y] = add[y-1] + w;   for ( x = 0 ; x < w ; x++ )      c_x[x] = c*x + 0.5,      s_x[x] = s*x + 0.5;   for ( y = 0, src = cdata ; y < h ; y++ )   {      ssyy = px - s * y;      ccyy = py + c * y;      for ( x = 0 ; x < w ; x++ )         if (*src++)         {            xprime = (int)(c_x[x] + ssyy);            yprime = (int)(s_x[x] + ccyy);            if (xprime>=0 && xprime < w && yprime>=0 && yprime < h)               *(add[yprime] + xprime) = 1;         }   }   free(c_x); free(s_x); free(add);}/*************************************************************************/rotate_push8(cdata, rdata, iw, ih, cenx, ceny, theta)unsigned char *cdata, *rdata;int iw, ih, cenx, ceny; float theta;{float dx, mxx, mxy, dy, myy, myx;   rot_push_params(theta, cenx, ceny, &dx, &mxx, &mxy, &dy, &myy, &myx);   push_param3_chrimage(rdata, cdata, iw, ih, dx, mxx, mxy, dy, myy, myx);}/*************************************************************************/rot_push_params(theta, cx, cy, dx, mxx, mxy, dy, myy, myx)int cx, cy;float theta, *dx, *mxx, *mxy, *dy, *myy, *myx;{   float rad, c, c1, s;   rad = -theta / DEG2RAD;   c = (float)cos((double)rad);   s = (float)sin((double)rad);   c1 = 1.0 - c;   *dx = (cx * c1) + (cy * s);   *mxx = c;   *mxy = -s;   *dy = (cy * c1) - (cx * s);   *myy = c;   *myx = s;}/*****************************************************************************/rotntrans_push_params(theta, cx, cy, tranx, trany, dx, mxx, mxy, dy, myy, myx)int tranx, trany;int cx, cy;float theta, *dx, *mxx, *mxy, *dy, *myy, *myx;{   float rad, c, c1, s;   rad = -theta / DEG2RAD;   c = (float)cos((double)rad);   s = (float)sin((double)rad);   c1 = 1.0 - c;   *dx = (cx * c1) + (cy * s) - tranx;   *mxx = c;   *mxy = -s;   *dy = (cy * c1) - (cx * s) - trany;   *myy = c;   *myx = s;}/*************************************************************************/push_param3_chrimage(rdata, cdata, iw, ih, dx, mxx, mxy, dy, myy, myx)unsigned char *cdata, *rdata;int iw, ih;float dx, mxx, mxy, dy, myy, myx;{unsigned char *cptr, **add;float fx, fy;int row, col, nx, ny;   malloc_dbl_uchar_l1(&add, ih, "push_param3_chrimage : add");   for ( row = 1, add[0] = rdata ; row < ih ; row++ )      add[row] = add[row-1] + iw;   cptr = cdata;   for(row = 0; row < ih; row++){      for(col = 0; col < iw; col++){         if(*cptr++){             Mapplyparam3_to_point(&fx, &fy, col, row,                                  dx, mxx, mxy, dy, myy, myx);             nx = (int)(fx+0.5);             ny = (int)(fy+0.5);             if(((nx >= 0) && (nx < iw)) &&                ((ny >= 0) && (ny < ih))){                *(add[ny] + nx) = 1;             }          }      }   }   free(add);}/***************************************************************/grayscale_rotate_90(idata, odata, w, h)unsigned char *idata, *odata;int w, h;{   int x, y;   unsigned char *iptr, *siptr, *optr, *soptr;   siptr = idata;   soptr = odata + h - 1;   for(y = 0; y < h; y++){      iptr = siptr;      optr = soptr;      for(x = 0; x < w; x++){         *optr = *iptr;         optr += h;         iptr++;      }      siptr += w;      soptr--;   }}/***************************************************************/grayscale_rotate_n90(idata, odata, w, h)unsigned char *idata, *odata;int w, h;{   int x, y;   unsigned char *iptr, *siptr, *optr, *soptr;   siptr = idata;   soptr = odata + ((w-1) * h);   for(y = 0; y < h; y++){      iptr = siptr;      optr = soptr;      for(x = 0; x < w; x++){         *optr = *iptr;         optr -= h;         iptr++;      }      siptr += w;      soptr++;   }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区男女天堂| 日韩欧美视频在线| 国产精品一区二区在线观看网站| 亚洲欧洲av另类| 久久青草欧美一区二区三区| 在线播放视频一区| 在线观看成人小视频| 99国产精品99久久久久久| 国产福利不卡视频| 国产成人午夜视频| 另类小说视频一区二区| 日本 国产 欧美色综合| 午夜天堂影视香蕉久久| 亚洲一区二区3| 亚洲第一电影网| 日韩电影在线观看一区| 免费成人在线视频观看| 成人综合日日夜夜| 国产一区二区三区免费看 | 性欧美大战久久久久久久久| 一区二区不卡在线播放| 视频一区二区三区在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 青青草国产成人av片免费| 另类综合日韩欧美亚洲| 国产剧情一区在线| 成人app下载| 欧美日本一道本| www国产亚洲精品久久麻豆| 国产欧美日韩在线看| 综合激情网...| 日本不卡123| 91原创在线视频| 91精品国产综合久久久久久 | 欧美日韩国产另类一区| 欧美另类高清zo欧美| 久久久久亚洲蜜桃| 亚洲v精品v日韩v欧美v专区| 国产酒店精品激情| 在线观看日韩高清av| 久久夜色精品国产噜噜av| 亚洲区小说区图片区qvod| 日韩av在线发布| 99视频一区二区| 日韩美女视频在线| 亚洲一区二区视频在线观看| 国内精品久久久久影院色| 99久久国产综合精品麻豆| 久久午夜色播影院免费高清| 樱桃视频在线观看一区| 成人免费观看男女羞羞视频| 在线不卡a资源高清| 亚洲精品久久久蜜桃| 国产精品一二三四| 日韩午夜三级在线| 视频一区欧美精品| 欧美精品精品一区| 亚洲国产精品一区二区www| 91亚洲午夜精品久久久久久| 国产精品无圣光一区二区| 成人黄色一级视频| 国产午夜精品福利| 国产麻豆欧美日韩一区| 欧美成人一级视频| 国产在线精品免费| 中文字幕电影一区| www.亚洲色图| 夜夜爽夜夜爽精品视频| 在线观看网站黄不卡| 一二三区精品福利视频| 欧美午夜一区二区| 琪琪久久久久日韩精品| 精品日韩在线观看| 欧美区视频在线观看| 日韩成人一级大片| 久久综合色天天久久综合图片| 久久99国产精品尤物| 国产欧美一区二区精品忘忧草| 风间由美中文字幕在线看视频国产欧美| 精品人在线二区三区| 成人激情免费电影网址| 亚洲精品高清视频在线观看| 欧美顶级少妇做爰| 国产精品一二三四| 亚洲国产日韩av| 亚洲精品一区在线观看| 在线影院国内精品| 久久福利视频一区二区| 国产欧美视频一区二区三区| 欧美性生活大片视频| 中文字幕一区二区三区乱码在线| 成人听书哪个软件好| 欧美极品aⅴ影院| 日韩经典中文字幕一区| 粉嫩高潮美女一区二区三区| 久久一区二区三区四区| 欧美日韩日日夜夜| 欧美性xxxxx极品少妇| 91麻豆福利精品推荐| 91传媒视频在线播放| 欧美在线观看你懂的| 在线电影院国产精品| 欧美福利视频一区| 在线播放视频一区| 欧美一级高清片在线观看| 精品久久久久久综合日本欧美| 精品av久久707| 日韩欧美高清dvd碟片| 欧洲人成人精品| 91啦中文在线观看| 国产高清久久久| 国产精品一区二区在线观看不卡 | 久久草av在线| 亚洲国产日韩a在线播放| 日本欧美韩国一区三区| 亚洲美女视频一区| 中文字幕中文在线不卡住| 久久久久久电影| 欧美国产日韩亚洲一区| 久久综合久久综合久久| 精品国产sm最大网站| 精品人在线二区三区| 久久青草欧美一区二区三区| 久久这里都是精品| 国产精品天天摸av网| 国产精品久久久久aaaa樱花| 中文字幕字幕中文在线中不卡视频| 亚洲丝袜另类动漫二区| 亚洲一级不卡视频| 麻豆久久久久久久| 成人小视频免费观看| 91久久奴性调教| 91精品国产乱| 国产精品美女久久久久久久久久久 | 欧美国产一区二区在线观看| 国产精品护士白丝一区av| 亚洲欧美日韩成人高清在线一区| 一区二区成人在线视频| 青青国产91久久久久久| 国产精品996| 欧美在线你懂得| 国产视频一区二区在线| 亚洲福利视频一区| 韩国v欧美v日本v亚洲v| 欧美日本国产一区| 亚洲视频每日更新| eeuss鲁片一区二区三区在线看| 日韩欧美在线综合网| 日韩和欧美一区二区| av不卡一区二区三区| 国产午夜久久久久| 国产一区二区在线观看免费| 欧美mv日韩mv国产| 精品一区二区日韩| 欧美成人aa大片| 日本免费新一区视频| 欧美一区二区在线看| 五月激情六月综合| 欧美精品tushy高清| 免费视频一区二区| 日韩欧美国产午夜精品| 美女视频一区二区三区| 精品国产露脸精彩对白| 精品一区二区免费| 国产欧美一区二区精品忘忧草| 国产另类ts人妖一区二区| 中文一区二区在线观看| 99久久综合色| 一区二区三区四区乱视频| 欧美少妇bbb| 麻豆一区二区三区| 国产欧美日韩三级| 99精品视频在线播放观看| 亚洲二区视频在线| 欧美大片日本大片免费观看| 国产成人精品一区二区三区四区 | 国产精品99精品久久免费| 国产精品久久久久永久免费观看| 99久久精品99国产精品| 亚洲成国产人片在线观看| 欧美成人官网二区| 成人av电影在线观看| 亚洲五码中文字幕| 久久你懂得1024| 欧美区视频在线观看| 成人免费观看视频| 国产一区视频在线看| 椎名由奈av一区二区三区| 精品成人a区在线观看| 91麻豆蜜桃一区二区三区| 国产成人夜色高潮福利影视| 亚洲成人中文在线| 亚洲综合一区二区三区| 久久久久久久久久看片| 欧美mv日韩mv亚洲| 欧美福利一区二区| 91精品国产综合久久精品麻豆| 91浏览器打开| 在线视频一区二区三| 成人av电影在线|