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

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

?? susan.c

?? 嵌入式基準(zhǔn)程序集Mibench,如果需要全部測試軟件,請從密西根大學(xué)網(wǎng)站上下載: http://www.eecs.umich.edu/mibench/
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* {{{ Copyright etc. *//**********************************************************************\  SUSAN Version 2l by Stephen Smith  Oxford Centre for Functional Magnetic Resonance Imaging of the Brain,  Department of Clinical Neurology, Oxford University, Oxford, UK  (Previously in Computer Vision and Image Processing Group - now  Computer Vision and Electro Optics Group - DERA Chertsey, UK)  Email:    steve@fmrib.ox.ac.uk  WWW:      http://www.fmrib.ox.ac.uk/~steve  (C) Crown Copyright (1995-1999), Defence Evaluation and Research Agency,  Farnborough, Hampshire, GU14 6TD, UK  DERA WWW site:  http://www.dera.gov.uk/  DERA Computer Vision and Electro Optics Group WWW site:  http://www.dera.gov.uk/imageprocessing/dera/group_home.html  DERA Computer Vision and Electro Optics Group point of contact:  Dr. John Savage, jtsavage@dera.gov.uk, +44 1344 633203  A UK patent has been granted: "Method for digitally processing  images to determine the position of edges and/or corners therein for  guidance of unmanned vehicle", UK Patent 2272285. Proprietor:  Secretary of State for Defence, UK. 15 January 1997  This code is issued for research purposes only and remains the  property of the UK Secretary of State for Defence. This code must  not be passed on without this header information being kept  intact. This code must not be sold.\**********************************************************************//* }}} *//* {{{ Readme First *//**********************************************************************\  SUSAN Version 2l  SUSAN = Smallest Univalue Segment Assimilating Nucleus  Email:    steve@fmrib.ox.ac.uk  WWW:      http://www.fmrib.ox.ac.uk/~steve  Related paper:  @article{Smith97,        author = "Smith, S.M. and Brady, J.M.",        title = "{SUSAN} - A New Approach to Low Level Image Processing",        journal = "Int. Journal of Computer Vision",        pages = "45--78",        volume = "23",        number = "1",        month = "May",        year = 1997}  To be registered for automatic (bug) updates of SUSAN, send an email.  Compile with:  gcc -O4 -o susan susan2l.c -lm  See following section for different machine information. Please  report any bugs (and fixes). There are a few optional changes that  can be made in the "defines" section which follows shortly.  Usage: type "susan" to get usage. Only PGM format files can be input  and output. Utilities such as the netpbm package and XV can be used  to convert to and from other formats. Any size of image can be  processed.  This code is written using an emacs folding mode, making moving  around the different sections very easy. This is why there are  various marks within comments and why comments are indented.  SUSAN QUICK:  This version of the SUSAN corner finder does not do all the  false-corner suppression and thus is faster and produced some false  positives, particularly on strong edges. However, because there are  less stages involving thresholds etc., the corners that are  correctly reported are usually more stable than those reported with  the full algorithm. Thus I recommend at least TRYING this algorithm  for applications where stability is important, e.g., tracking.  THRESHOLDS:  There are two thresholds which can be set at run-time. These are the  brightness threshold (t) and the distance threshold (d).  SPATIAL CONTROL: d  In SUSAN smoothing d controls the size of the Gaussian mask; its  default is 4.0. Increasing d gives more smoothing. In edge finding,  a fixed flat mask is used, either 37 pixels arranged in a "circle"  (default), or a 3 by 3 mask which gives finer detail. In corner  finding, only the larger 37 pixel mask is used; d is not  variable. In smoothing, the flat 3 by 3 mask can be used instead of  a larger Gaussian mask; this gives low smoothing and fast operation.  BRIGHTNESS CONTROL: t  In all three algorithms, t can be varied (default=20); this is the  main threshold to be varied. It determines the maximum difference in  greylevels between two pixels which allows them to be considered  part of the same "region" in the image. Thus it can be reduced to  give more edges or corners, i.e. to be more sensitive, and vice  versa. In smoothing, reducing t gives less smoothing, and vice  versa. Set t=10 for the test image available from the SUSAN web  page.  ITERATIONS:  With SUSAN smoothing, more smoothing can also be obtained by  iterating the algorithm several times. This has a different effect  from varying d or t.  FIXED MASKS:  37 pixel mask:    ooo       3 by 3 mask:  ooo                   ooooo                    ooo                  ooooooo                   ooo                  ooooooo                  ooooooo                   ooooo                    ooo  CORNER ATTRIBUTES dx, dy and I  (Only read this if you are interested in the C implementation or in  using corner attributes, e.g., for corner matching)  Corners reported in the corner list have attributes associated with  them as well as positions. This is useful, for example, when  attempting to match corners from one image to another, as these  attributes can often be fairly unchanged between images. The  attributes are dx, dy and I. I is the value of image brightness at  the position of the corner. In the case of susan_corners_quick, dx  and dy are the first order derivatives (differentials) of the image  brightness in the x and y directions respectively, at the position  of the corner. In the case of normal susan corner finding, dx and dy  are scaled versions of the position of the centre of gravity of the  USAN with respect to the centre pixel (nucleus).  BRIGHTNESS FUNCTION LUT IMPLEMENTATION:  (Only read this if you are interested in the C implementation)  The SUSAN brightness function is implemented as a LUT  (Look-Up-Table) for speed. The resulting pointer-based code is a  little hard to follow, so here is a brief explanation. In  setup_brightness_lut() the LUT is setup. This mallocs enough space  for *bp and then repositions the pointer to the centre of the  malloced space. The SUSAN function e^-(x^6) or e^-(x^2) is  calculated and converted to a uchar in the range 0-100, for all  possible image brightness differences (including negative  ones). Thus bp[23] is the output for a brightness difference of 23  greylevels. In the SUSAN algorithms this LUT is used as follows:  p=in + (i-3)*x_size + j - 1;  p points to the first image pixel in the circular mask surrounding  point (x,y).  cp=bp + in[i*x_size+j];  cp points to a position in the LUT corresponding to the brightness  of the centre pixel (x,y).  now for every pixel within the mask surrounding (x,y),  n+=*(cp-*p++);  the brightness difference function is found by moving the cp pointer  down by an amount equal to the value of the pixel pointed to by p,  thus subtracting the two brightness values and performing the  exponential function. This value is added to n, the running USAN  area.  in SUSAN smoothing, the variable height mask is implemented by  multiplying the above by the moving mask pointer, reset for each new  centre pixel.  tmp = *dpt++ * *(cp-brightness);\**********************************************************************//* }}} *//* {{{ Machine Information *//**********************************************************************\  Success has been reported with the following:  MACHINE  OS         COMPILER  Sun      4.1.4      bundled C, gcc  Next  SGI      IRIX       SGI cc  DEC      Unix V3.2+   IBM RISC AIX        gcc  PC                  Borland 5.0  PC       Linux      gcc-2.6.3  PC       Win32      Visual C++ 4.0 (Console Application)  PC       Win95      Visual C++ 5.0 (Console Application)                      Thanks to Niu Yongsheng <niuysbit@163.net>:                      Use the FOPENB option below  PC       DOS        djgpp gnu C                      Thanks to Mark Pettovello <mpettove@umdsun2.umd.umich.edu>:                      Use the FOPENB option below  HP       HP-UX      bundled cc                      Thanks to Brian Dixon <briand@hpcvsgen.cv.hp.com>:                      in ksh:                      export CCOPTS="-Aa -D_HPUX_SOURCE | -lM"                      cc -O3 -o susan susan2l.c\**********************************************************************//* }}} *//* {{{ History *//**********************************************************************\  SUSAN Version 2l, 12/2/99  Changed GNUDOS option to FOPENB.  (Thanks to Niu Yongsheng <niuysbit@163.net>.)  Took out redundant "sq=sq/2;".  SUSAN Version 2k, 19/8/98:  In corner finding:  Changed if(yy<sq) {...} else if(xx<sq) {...} to          if(yy<xx) {...} else {...}  (Thanks to adq@cim.mcgill.edu - Alain Domercq.)  SUSAN Version 2j, 22/10/97:  Fixed (mask_size>x_size) etc. tests in smoothing.  Added a couple of free() calls for cgx and cgy.  (Thanks to geoffb@ucs.ed.ac.uk - Geoff Browitt.)  SUSAN Version 2i, 21/7/97:  Added information about corner attributes.  SUSAN Version 2h, 16/12/96:  Added principle (initial enhancement) option.  SUSAN Version 2g, 2/7/96:  Minor superficial changes to code.  SUSAN Version 2f, 16/1/96:  Added GNUDOS option (now called FOPENB; see options below).  SUSAN Version 2e, 9/1/96:  Added -b option.  Fixed 1 pixel horizontal offset error for drawing edges.  SUSAN Version 2d, 27/11/95:  Fixed loading of certain PGM files in get_image (again!)  SUSAN Version 2c, 22/11/95:  Fixed loading of certain PGM files in get_image.  (Thanks to qu@San-Jose.ate.slb.com - Gongyuan Qu.)  SUSAN Version 2b, 9/11/95:  removed "z==" error in edges routines.  SUSAN Version 2a, 6/11/95:  Removed a few unnecessary variable declarations.  Added different machine information.  Changed "header" in get_image to char.  SUSAN Version 2, 1/11/95: first combined version able to take any  image sizes.  SUSAN "Versions 1", circa 1992: the various SUSAN algorithms were  developed during my doctorate within different programs and for  fixed image sizes. The algorithms themselves are virtually unaltered  between "versions 1" and the combined program, version 2.\**********************************************************************//* }}} *//* {{{ defines, includes and typedefs *//* ********** Optional settings */#ifndef PPCtypedef int        TOTAL_TYPE; /* this is faster for "int" but should be "float" for large d masks */#elsetypedef float      TOTAL_TYPE; /* for my PowerPC accelerator only */#endif/*#define FOPENB*/           /* uncomment if using djgpp gnu C for DOS or certain Win95 compilers */#define SEVEN_SUPP           /* size for non-max corner suppression; SEVEN_SUPP or FIVE_SUPP */#define MAX_CORNERS   15000  /* max corners per frame *//* ********** Leave the rest - but you may need to remove one or both of sys/file.h and malloc.h lines */#include <stdlib.h>#include <stdio.h>#include <string.h>#include <math.h>#include <sys/file.h>    /* may want to remove this line */#include <malloc.h>      /* may want to remove this line */#define  exit_error(IFB,IFC) { fprintf(stderr,IFB,IFC); exit(0); }#define  FTOI(a) ( (a) < 0 ? ((int)(a-0.5)) : ((int)(a+0.5)) )typedef  unsigned char uchar;typedef  struct {int x,y,info, dx, dy, I;} CORNER_LIST[MAX_CORNERS];/* }}} *//* {{{ usage() */usage(){  printf("Usage: susan <in.pgm> <out.pgm> [options]\n\n");  printf("-s : Smoothing mode (default)\n");  printf("-e : Edges mode\n");  printf("-c : Corners mode\n\n");  printf("See source code for more information about setting the thresholds\n");  printf("-t <thresh> : Brightness threshold, all modes (default=20)\n");  printf("-d <thresh> : Distance threshold, smoothing mode, (default=4) (use next option instead for flat 3x3 mask)\n");  printf("-3 : Use flat 3x3 mask, edges or smoothing mode\n");  printf("-n : No post-processing on the binary edge map (runs much faster); edges mode\n");  printf("-q : Use faster (and usually stabler) corner mode; edge-like corner suppression not carried out; corners mode\n");  printf("-b : Mark corners/edges with single black points instead of black with white border; corners or edges mode\n");  printf("-p : Output initial enhancement image only; corners or edges mode (default is edges mode)\n");  printf("\nSUSAN Version 2l (C) 1995-1997 Stephen Smith, DRA UK. steve@fmrib.ox.ac.uk\n");  exit(0);}/* }}} *//* {{{ get_image(filename,in,x_size,y_size) *//* {{{ int getint(fp) derived from XV */int getint(fd)  FILE *fd;{  int c, i;  char dummy[10000];  c = getc(fd);  while (1) /* find next integer */  {    if (c=='#')    /* if we're at a comment, read to end of line */      fgets(dummy,9000,fd);    if (c==EOF)      exit_error("Image %s not binary PGM.\n","is");    if (c>='0' && c<='9')      break;   /* found what we were looking for */    c = getc(fd);  }  /* we're at the start of a number, continue until we hit a non-number */  i = 0;  while (1) {    i = (i*10) + (c - '0');    c = getc(fd);    if (c==EOF) return (i);    if (c<'0' || c>'9') break;  }  return (i);}/* }}} */void get_image(filename,in,x_size,y_size)  char           filename[200];  unsigned char  **in;  int            *x_size, *y_size;{FILE  *fd;char header [100];int  tmp;#ifdef FOPENB  if ((fd=fopen(filename,"rb")) == NULL)#else  if ((fd=fopen(filename,"r")) == NULL)#endif    exit_error("Can't input image %s.\n",filename);  /* {{{ read header */  header[0]=fgetc(fd);  header[1]=fgetc(fd);  if(!(header[0]=='P' && header[1]=='5'))    exit_error("Image %s does not have binary PGM header.\n",filename);  *x_size = getint(fd);  *y_size = getint(fd);  tmp = getint(fd);/* }}} */  *in = (uchar *) malloc(*x_size * *y_size);  if (fread(*in,1,*x_size * *y_size,fd) == 0)    exit_error("Image %s is wrong size.\n",filename);  fclose(fd);}/* }}} *//* {{{ put_image(filename,in,x_size,y_size) */put_image(filename,in,x_size,y_size)  char filename [100],       *in;  int  x_size,       y_size;{FILE  *fd;#ifdef FOPENB  if ((fd=fopen(filename,"wb")) == NULL) #else  if ((fd=fopen(filename,"w")) == NULL) #endif    exit_error("Can't output image%s.\n",filename);  fprintf(fd,"P5\n");  fprintf(fd,"%d %d\n",x_size,y_size);  fprintf(fd,"255\n");    if (fwrite(in,x_size*y_size,1,fd) != 1)    exit_error("Can't write image %s.\n",filename);  fclose(fd);}/* }}} *//* {{{ int_to_uchar(r,in,size) */int_to_uchar(r,in,size)  uchar *in;  int   *r, size;{int i,    max_r=r[0],    min_r=r[0];  for (i=0; i<size; i++)    {      if ( r[i] > max_r )        max_r=r[i];      if ( r[i] < min_r )        min_r=r[i];    }  /*printf("min=%d max=%d\n",min_r,max_r);*/  max_r-=min_r;  for (i=0; i<size; i++)    in[i] = (uchar)((int)((int)(r[i]-min_r)*255)/max_r);}/* }}} *//* {{{ setup_brightness_lut(bp,thresh,form) */void setup_brightness_lut(bp,thresh,form)  uchar **bp;  int   thresh, form;{int   k;float temp;  *bp=(unsigned char *)malloc(516);  *bp=*bp+258;  for(k=-256;k<257;k++)  {    temp=((float)k)/((float)thresh);    temp=temp*temp;    if (form==6)      temp=temp*temp*temp;    temp=100.0*exp(-temp);    *(*bp+k)= (uchar)temp;  }}/* }}} *//* {{{ susan principle *//* {{{ susan_principle(in,r,bp,max_no,x_size,y_size) */susan_principle(in,r,bp,max_no,x_size,y_size)  uchar *in, *bp;  int   *r, max_no, x_size, y_size;{int   i, j, n;uchar *p,*cp;  memset (r,0,x_size * y_size * sizeof(int));  for (i=3;i<y_size-3;i++)    for (j=3;j<x_size-3;j++)    {      n=100;      p=in + (i-3)*x_size + j - 1;      cp=bp + in[i*x_size+j];      n+=*(cp-*p++);      n+=*(cp-*p++);      n+=*(cp-*p);      p+=x_size-3;       n+=*(cp-*p++);      n+=*(cp-*p++);      n+=*(cp-*p++);      n+=*(cp-*p++);      n+=*(cp-*p);      p+=x_size-5;      n+=*(cp-*p++);      n+=*(cp-*p++);      n+=*(cp-*p++);      n+=*(cp-*p++);      n+=*(cp-*p++);      n+=*(cp-*p++);      n+=*(cp-*p);      p+=x_size-6;      n+=*(cp-*p++);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩99亚洲| 国产精选一区二区三区| aaa亚洲精品一二三区| 中文字幕不卡的av| 国产91在线观看丝袜| 国产性做久久久久久| 国产盗摄一区二区| 中文字幕一区二区日韩精品绯色| 成人精品一区二区三区四区| 综合久久久久综合| 欧美三级乱人伦电影| 日韩精品久久理论片| 精品国产成人在线影院| 国产乱码精品一区二区三区av| 中文字幕精品综合| 91久久精品一区二区| 日韩国产在线观看| 久久久久国产精品免费免费搜索| av在线不卡免费看| 亚洲国产精品久久久男人的天堂| 日韩欧美中文一区| 国产精品白丝jk黑袜喷水| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久久久国产精品麻豆ai换脸| 成人污视频在线观看| 亚洲国产一区二区三区青草影视 | 麻豆精品一区二区av白丝在线| 久久综合色8888| 91一区二区在线| 日韩福利电影在线观看| 欧美激情自拍偷拍| 欧美日韩一区二区电影| 精品亚洲国内自在自线福利| 国产精品美女久久久久久久久 | 18涩涩午夜精品.www| 7777精品伊人久久久大香线蕉超级流畅| 久久成人免费网站| 亚洲人成7777| 久久久久久久久久久久久女国产乱| 在线观看亚洲成人| 高清成人免费视频| 日韩国产一区二| 亚洲欧美怡红院| 久久综合999| 欧美顶级少妇做爰| 99久久亚洲一区二区三区青草| 日本欧美韩国一区三区| 亚洲视频免费在线观看| 欧美精品一区男女天堂| 欧美少妇bbb| 99久久er热在这里只有精品15| 精品一区二区影视| 一区二区三区精品视频| 国产亚洲成av人在线观看导航| 欧美一区二区三区免费视频 | 欧美xxxxx牲另类人与| 色婷婷av一区二区三区gif| 国产伦精品一区二区三区免费 | 欧美三级资源在线| 99这里只有久久精品视频| 久久99精品国产麻豆婷婷| 日韩中文字幕1| 亚洲国产乱码最新视频| 椎名由奈av一区二区三区| 国产亚洲一区二区三区在线观看| 在线综合视频播放| 欧美日韩专区在线| 一本色道**综合亚洲精品蜜桃冫 | 色狠狠一区二区三区香蕉| 国产不卡视频一区| 国产精品综合视频| 寂寞少妇一区二区三区| 美女脱光内衣内裤视频久久影院| 日韩主播视频在线| 同产精品九九九| 亚洲aaa精品| 亚洲成人高清在线| 视频一区免费在线观看| 午夜精品在线看| 亚洲午夜电影在线| 婷婷成人综合网| 无吗不卡中文字幕| 日欧美一区二区| 蜜臀精品久久久久久蜜臀| 日韩精品福利网| 在线亚洲免费视频| 在线观看亚洲精品视频| 欧美日韩亚州综合| 6080午夜不卡| 欧美成人性福生活免费看| 日韩精品一区二区在线| wwww国产精品欧美| 国产欧美日韩综合| 国产精品白丝在线| 玉足女爽爽91| 美女视频黄a大片欧美| 精品一区二区国语对白| 国产高清不卡一区| 91蜜桃传媒精品久久久一区二区| 91福利在线导航| 4438x成人网最大色成网站| 日韩精品一区二区三区蜜臀 | 日本韩国欧美一区二区三区| 欧美视频一区二区| 欧美va日韩va| 国产精品久久久久久久久免费丝袜 | 国产一区二区在线看| 国产精品综合视频| 91成人免费在线视频| 欧美一级淫片007| 日本一区二区三区在线不卡| 一区二区三区在线看| 美女精品自拍一二三四| 成人免费高清视频在线观看| 在线日韩国产精品| 精品久久人人做人人爰| 中文字幕欧美三区| 亚洲成人免费影院| 粉嫩av一区二区三区粉嫩| 欧美日韩三级在线| 国产亚洲美州欧州综合国| 亚洲影院在线观看| 国产乱一区二区| 欧美日韩精品一区二区三区四区| 精品99999| 亚洲国产精品久久久久婷婷884| 国内精品久久久久影院色 | 日韩高清不卡一区二区| 成人动漫在线一区| 欧美久久免费观看| 亚洲国产精品二十页| 蜜桃免费网站一区二区三区| 99re视频精品| 久久久高清一区二区三区| 亚洲va韩国va欧美va| 99精品欧美一区二区三区综合在线| 欧美一区二区三区人| 亚洲自拍偷拍麻豆| 国产成人精品亚洲午夜麻豆| 91精品国产乱| 一区二区三区在线免费播放| 国产成人免费9x9x人网站视频| 日韩一级高清毛片| 伊人夜夜躁av伊人久久| 成人一区二区三区视频在线观看| 91精品婷婷国产综合久久竹菊| 亚洲欧美精品午睡沙发| 丁香网亚洲国际| 精品99999| 美国三级日本三级久久99| 欧美日韩精品一区二区三区| 亚洲伦理在线精品| 成人午夜电影网站| 久久综合资源网| 青青草国产成人av片免费| 欧美最新大片在线看| 一区二区三区在线免费播放 | 欧美日韩一级片网站| 亚洲猫色日本管| 99热在这里有精品免费| 国产女主播在线一区二区| 国产一区二区三区美女| 精品国产一区二区国模嫣然| 日本成人在线电影网| 欧美男生操女生| 香蕉成人伊视频在线观看| 欧洲在线/亚洲| 亚洲一区二区三区不卡国产欧美| 欧美性做爰猛烈叫床潮| 亚洲综合激情另类小说区| 欧美最猛性xxxxx直播| 亚洲精品自拍动漫在线| 91福利视频久久久久| 一级精品视频在线观看宜春院| 色悠久久久久综合欧美99| 亚洲一线二线三线久久久| 欧美亚洲国产一区在线观看网站| 一区二区三区 在线观看视频| 在线观看视频91| 日本欧美一区二区三区乱码| 日韩一区二区免费高清| 久久精品国产99| 国产亚洲一二三区| 99久久免费精品| 亚洲国产中文字幕在线视频综合| 在线成人av网站| 精品影院一区二区久久久| 亚洲国产激情av| 色女孩综合影院| 首页国产欧美日韩丝袜| 精品蜜桃在线看| 本田岬高潮一区二区三区| 亚洲已满18点击进入久久| 在线电影院国产精品| 国产在线精品一区二区夜色 | 欧美午夜精品电影| 日韩不卡一区二区| 久久精品亚洲乱码伦伦中文| 色呦呦国产精品| 日韩高清一区二区|