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

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

?? chamfer_sdt3.c

?? The salience distance transform incorporates edge strength information into the distance transform.
?? C
?? 第 1 頁 / 共 2 頁
字號:
        exit(-1);    }    /* read magic word for format of file */    fscanf(fp,"%s\n",file_type);    j = strcmp(file_type,"pixel");    if(j != 0){        printf("not link data file - aborting\n");        exit(-1);    }    for (j=0;j<height;j++)        for (i=0;i<width;i++)            image_length[j][i] = 0;    do {        read_link_data(fp,&endoffile);        store_length();        combine_clutter();    } while (!endoffile);    fclose(fp);    /* ++++++++++++++++++ SECOND PASS ++++++++++++++++++ */    /* propagate distance etc */    j = 0;    do {        j++;        printf("iteration %d\n",j);        change = FALSE;        /* forward pass */        for (y = 1; y < height-1; y++) {            for (x = 1; x < width-1; x++) {                prev_measure = (double) (image_dist[x][y]+K) /                               (double) (((unsigned int)image_mag[x][y]+K) *                                          (image_length[x][y]+K) *                                          (clutter_area[x][y]+K));                for (i = 0; i < MASK_SIZE; i++) {                    xn = x + x_offset[i]; yn = y + y_offset[i];                    d[i] = image_dist[xn][yn] + i_offset[i];                    m[i] = (unsigned char)image_mag[xn][yn];                    l[i] = image_length[xn][yn];                    c[i] = clutter_area[xn][yn];                }                min_loc = 0;                min_measure = (double) (d[0]+K) /                              (double) ((m[0]+K) * (l[0]+K) * (c[0]+K));                for (i = 1; i < MASK_SIZE; i++) {                    measure = (double) (d[i]+K) /                              (double) ((m[i]+K) * (l[i]+K) * (c[i]+K));                    if (measure < min_measure) {                        min_measure = measure;                        min_loc = i;                    }                }                image_dist[x][y] = d[min_loc];                image_mag[x][y] = m[min_loc];                image_length[x][y] = l[min_loc];                clutter_area[x][y] = c[min_loc];                if (prev_measure != min_measure)                    change = TRUE;            }        }        /* backward pass */        for (y = height-2; y >= 1; y--) {            for (x = width-2; x >= 1; x--) {                prev_measure = (double) (image_dist[x][y]+K) /                               (double) (((unsigned int)image_mag[x][y]+K) *                                          (image_length[x][y]+K) *                                          (clutter_area[x][y]+K));                for (i = 0; i < MASK_SIZE; i++) {                    xn = x - x_offset[i]; yn = y - y_offset[i];                    d[i] = image_dist[xn][yn] + i_offset[i];                    m[i] = (unsigned char)image_mag[xn][yn];                    l[i] = image_length[xn][yn];                    c[i] = clutter_area[xn][yn];                }                min_loc = 0;                min_measure = (double) (d[0]+K) /                              (double) ((m[0]+K) * (l[0]+K) * (c[0]+K));                for (i = 1; i < MASK_SIZE; i++) {                    measure = (double) (d[i]+K) /                              (double) ((m[i]+K) * (l[i]+K) * (c[i]+K));                    if (measure < min_measure) {                        min_measure = measure;                        min_loc = i;                    }                }                image_dist[x][y] = d[min_loc];                image_mag[x][y] = m[min_loc];                image_length[x][y] = l[min_loc];                clutter_area[x][y] = c[min_loc];                if (prev_measure != min_measure)                    change = TRUE;            }        }    } while (change && j < max_iter);    /* calculate measure values */    for (y = 1; y < height-1; y++) {        for (x = 1; x < width-1; x++) {            image_measure[x][y] = (double) (image_dist[x][y]+K) /                                 ((double) ((unsigned int)image_mag[x][y]+K) *                                            (image_length[x][y]+K) *                                            (clutter_area[x][y]+K));        }    }    /* rescale */    max_val = image_measure[1][1];    for (y = 1; y < height-1; y++)        for (x = 1; x < width-1; x++)            if (image_measure[x][y] > max_val)                max_val = image_measure[x][y];    for (y = 1; y < height-1; y++)        for (x = 1; x < width-1; x++)            tmp[x][y] = (unsigned char)(image_measure[x][y] * 255 / max_val);    /* reset borders */    for (y = 0; y < height; y++)        tmp[0][y] = tmp[width-1][y] = 255;    for (x = 0; x < width; x++)        tmp[x][0] = tmp[x][height-1] = 255;    write_pgm(tmp,outfile,width,height);}store_length(){    int i;    if (cancel_length)        /* arbitrary constant value */        for (i = 0; i < no_pixels; i++)            image_length[x[i]][y[i]] = 100;    else        for (i = 0; i < no_pixels; i++)            image_length[x[i]][y[i]] = no_pixels;}store_curve_labels(label){    int i;    for (i = 0; i < no_pixels; i++)        curve_labels[x[i]][y[i]] = label;}combine_clutter(){    int i;    float total = 0;    for (i = 0; i < no_pixels; i++)        total += clutter_area[x[i]][y[i]];    for (i = 0; i < no_pixels; i++)        clutter_area[x[i]][y[i]] = total;}read_link_data(fp,endoffile)FILE *fp;int *endoffile;{    char dumstring[50];    int j;    fscanf(fp,"%s %d\n",dumstring,&j);    j = -1;    do{       j++;       fscanf(fp,"%d %d\n",&x[j],&y[j]);    } while(x[j] != -1);    *endoffile = (y[j] == -1);    no_pixels = j;}/* save coordinates of nearest edge point to each point in text file */save_ascii(filename)char filename[];{    int x,y;    FILE *fp;    double dx,dy;    if ((fp=fopen(filename,"w")) == NULL) {        printf("cant open file: %s\n",filename);        exit(-1);    }    for (y = 1; y < height-1; y++)        for (x = 1; x < width-1; x++) {            dx = x - X[x][y];            dy = y - Y[x][y];            fprintf(fp,"%d %d ",x,y);            fprintf(fp,"%d %d\n",X[x][y],Y[x][y]);        }    fclose(fp);}/* save coordinates of nearest edge point to each point in 2 images */save_xy(fnx,fny)char fnx[],fny[];{    int x,y;    /* reset borders */    for (y = 0; y < height; y++)        tmp[0][y] = tmp[width-1][y] = 0;    for (x = 0; x < width; x++)        tmp[x][0] = tmp[x][height-1] = 0;    for (y = 1; y < height-1; y++)        for (x = 1; x < width-1; x++)            tmp[x][y] = X[x][y];    write_pgm(tmp,fnx,width,height);    for (y = 1; y < height-1; y++)        for (x = 1; x < width-1; x++)            tmp[x][y] = Y[x][y];    write_pgm(tmp,fny,width,height);}/* save image of Voronoi cell labels from each point */save_voronoi1(filename)char filename[];{    static int label[MAX_SIZE][MAX_SIZE];    static int hist[MAX_SIZE*MAX_SIZE][2];    int x,y;    int i;    int count;    /* create unique label for each Voronoi cell */    for (y = 1; y < height-1; y++)        for (x = 1; x < width-1; x++)            label[x][y] = X[x][y] + Y[x][y] * MAX_SIZE;    for (i = 0; i < MAX_SIZE*MAX_SIZE; i++)        hist[i][0] = hist[i][1] = 0;    for (x = 0; x < width; x++)        for (y = 0; y < height; y++)            hist[label[x][y]][0]++;    count = 0;    for (i = 0; i < MAX_SIZE*MAX_SIZE; i++) {        if (hist[i][0] > 0) {            hist[i][1] = count;            count++;        }    }    printf("number of Voronoi cells: %d\n",count);    for (x = 0; x < width; x++)        for (y = 0; y < height; y++)            tmp[x][y] = (unsigned char) hist[label[x][y]][1];    /* reset borders */    for (y = 0; y < height; y++)        tmp[0][y] = tmp[width-1][y] = 0;    for (x = 0; x < width; x++)        tmp[x][0] = tmp[x][height-1] = 0;    write_pgm(tmp,filename,width,height);}/* save image of Voronoi cell labels from each curve */save_voronoi2(pixel_file,voronoi_file)char *pixel_file,*voronoi_file;{    int x,y;    int i,j;    int count;    FILE *fp;    char file_type[50];    int endoffile;    /* read and pixel lists and store lengths */    if ((fp=fopen(pixel_file,"r")) == NULL) {        printf("cant open pixel file: %s\n",pixel_file);        exit(-1);    }    /* read magic word for format of file */    fscanf(fp,"%s\n",file_type);    j = strcmp(file_type,"pixel");    if (j != 0){        printf("not link data file - aborting\n");        exit(-1);    }    for (j = 0; j < height; j++)        for (i = 0; i < width; i++)            curve_labels[j][i] = 0;    count = 1;    do {        read_link_data(fp,&endoffile);        store_curve_labels(count);        count++;    } while (!endoffile);    fclose(fp);    if (count > 255) {        fprintf(stderr,"ERROR: too many pixel lists (%d) to store as Voronoi labels\n",count);        return;    }    /* store curve label for each Voronoi cell */    for (y = 1; y < height-1; y++)        for (x = 1; x < width-1; x++)            tmp[x][y] = (unsigned char) curve_labels[X[x][y]][Y[x][y]];    /* reset borders */    for (y = 0; y < height; y++)        tmp[0][y] = tmp[width-1][y] = 0;    for (x = 0; x < width; x++)        tmp[x][0] = tmp[x][height-1] = 0;    write_pgm(tmp,voronoi_file,width,height);}/* save image of clutter values at each curve */save_clutter(pixel_file,clutter_file)char *pixel_file,*clutter_file;{    int xx,yy;    int i,j;    FILE *fp;    char file_type[50];    int endoffile;    double avg,max_val;    /* read and pixel lists and store lengths */    if ((fp=fopen(pixel_file,"r")) == NULL) {        printf("cant open pixel file: %s\n",pixel_file);        exit(-1);    }    /* read magic word for format of file */    fscanf(fp,"%s\n",file_type);    j = strcmp(file_type,"pixel");    if (j != 0){        printf("not link data file - aborting\n");        exit(-1);    }    for (yy = 0; yy < height; yy++)       for (xx = 0; xx < width; xx++)          tmp2[xx][yy] = 0;    max_val = 0;    do {        read_link_data(fp,&endoffile);        avg = 0;        for (i = 0; i < no_pixels; i++)            avg += clutter_area[x[i]][y[i]];        avg /= (double)no_pixels;        for (i = 0; i < no_pixels; i++)            tmp2[x[i]][y[i]] = avg;        if (avg >  max_val)            max_val = avg;    } while (!endoffile);    fclose(fp);    printf("rescaling from maximum clutter value: %f\n",max_val);    for (yy = 0; yy < height; yy++)       for (xx = 0; xx < width; xx++)          tmp[xx][yy] = (unsigned char)(tmp2[xx][yy] * 255.0 / max_val);    write_pgm(tmp,clutter_file,width,height);}options(progname)char *progname;{    printf("usage: %s [options]\n",progname);    printf("     -a file    save coords of nearest edge as ASCII file\n");    printf("     -b file    binary edge map (optional)\n");    printf("     -e file    edge magnitude map\n");    printf("     -o file    output distance map\n");    printf("     -p file    pixel lists\n");    printf("     -n int     maximum number of iterations (default: %d)\n",max_iter);    printf("     -v file    save Voronoi diagram from 1st pass\n");    printf("     -c file    save edge clutter map from 1st pass\n");    printf("     -L         do NOT use length attribute\n");    exit(-1);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
暴力调教一区二区三区| 免费观看一级欧美片| 国产精品区一区二区三区| 国产精品久久久久久久久果冻传媒 | 亚洲摸摸操操av| 一区二区三区四区在线| 亚洲国产视频网站| 美女视频网站久久| 精品一区二区在线看| 国内不卡的二区三区中文字幕| 麻豆91精品视频| 成人av在线资源网站| 91视频.com| 欧美sm极限捆绑bd| 一区二区中文视频| 婷婷国产v国产偷v亚洲高清| 国产一区二区三区四区在线观看| 国产成人在线影院| 欧美年轻男男videosbes| 欧美精品一区二区精品网| 亚洲女性喷水在线观看一区| 蜜臀av一区二区在线观看| 成人精品视频.| 精品对白一区国产伦| 夜夜嗨av一区二区三区网页 | 精品理论电影在线观看| 亚洲欧洲精品一区二区三区 | 91精品国产综合久久福利| 国产精品高潮久久久久无| 韩国成人在线视频| 欧美一激情一区二区三区| 亚洲一区精品在线| 99riav久久精品riav| 中文字幕av一区二区三区| 另类调教123区| 欧美videos中文字幕| 99热国产精品| 中文字幕一区二区三区在线不卡| 国产日韩欧美a| 亚洲丰满少妇videoshd| 国产99久久久久| 在线免费观看日韩欧美| 日本韩国欧美一区二区三区| 久久久久久久久免费| 国产v综合v亚洲欧| 欧美激情一区二区三区| 国产99久久精品| 国产亚洲精品资源在线26u| 蜜臀久久99精品久久久画质超高清 | 韩国成人在线视频| 欧美一二三区在线观看| 午夜成人免费视频| 91精品蜜臀在线一区尤物| 麻豆高清免费国产一区| 精品国产免费人成电影在线观看四季| 水野朝阳av一区二区三区| 91精品国产手机| 国产激情视频一区二区三区欧美| 久久精子c满五个校花| proumb性欧美在线观看| 亚洲欧美日韩国产手机在线 | 自拍偷拍亚洲综合| 欧美疯狂性受xxxxx喷水图片| 久久精品国产99| 中文字幕在线视频一区| 欧美三级电影网| 韩国成人在线视频| 亚洲国产成人porn| 国产日韩精品一区二区浪潮av| 91片在线免费观看| 国产福利精品一区二区| 丝袜脚交一区二区| 亚洲欧美日韩国产综合| 欧美一区二区三区视频免费播放| 99麻豆久久久国产精品免费| 奇米色777欧美一区二区| 亚洲免费在线电影| 久久久噜噜噜久久中文字幕色伊伊 | 欧美人妖巨大在线| 日韩精品电影在线| 亚洲欧洲av色图| 国产精品毛片久久久久久久| 精品国产a毛片| 欧美精品一区二区蜜臀亚洲| 欧美一二三四区在线| 日韩一区二区在线播放| 91精品国产综合久久久蜜臀粉嫩| 色婷婷综合视频在线观看| 成人网男人的天堂| 99热99精品| 欧美色成人综合| 精品美女一区二区| 欧美激情在线看| 亚洲欧美色一区| 欧美aaa在线| 国产精品综合在线视频| 成人精品鲁一区一区二区| 欧美在线免费播放| 成人综合婷婷国产精品久久| 久88久久88久久久| 蜜桃一区二区三区在线观看| 亚洲女人****多毛耸耸8| 国产精品久久久久久久久久久免费看| 色女孩综合影院| 欧美性色综合网| 一本大道久久a久久综合婷婷| 在线免费一区三区| 欧美年轻男男videosbes| 久久综合久久综合亚洲| 一区二区三区视频在线观看| 亚洲高清视频的网址| 国产成人精品www牛牛影视| 91精品麻豆日日躁夜夜躁| 欧美激情在线看| 日本不卡不码高清免费观看| 91在线免费看| 久久久国产精华| 偷拍一区二区三区四区| 成人免费毛片a| 日韩精品一区二区在线| 日韩精品免费专区| 欧美丰满美乳xxx高潮www| 中文字幕一区二区三区四区 | 狠狠色狠狠色综合系列| 在线观看欧美黄色| 中文字幕精品在线不卡| 国产久卡久卡久卡久卡视频精品| 精品成人一区二区| 国产剧情一区二区| 日韩欧美第一区| 日本v片在线高清不卡在线观看| 9人人澡人人爽人人精品| 国产精品色在线观看| 成人免费毛片aaaaa**| 国产亚洲制服色| 成人av电影在线| 国产亚洲短视频| 欧美手机在线视频| 亚洲福利电影网| 日韩精品在线一区| 国产一区久久久| 亚洲美女视频一区| 欧美精品在线视频| 狂野欧美性猛交blacked| 国产欧美日本一区二区三区| 国产宾馆实践打屁股91| 一区二区三区在线高清| 99久久99久久久精品齐齐| 亚洲va欧美va国产va天堂影院| 欧美二区三区的天堂| 欧美三级欧美一级| 成人黄色在线网站| 亚洲成av人**亚洲成av**| 日韩视频免费直播| 91丝袜国产在线播放| 丝袜美腿亚洲一区| 国产精品久久久久精k8| 欧美一区二区三区四区久久| 国产成人在线免费| 亚洲激情在线播放| 国产欧美一区二区精品秋霞影院| 欧美日韩专区在线| 91亚洲精华国产精华精华液| 石原莉奈在线亚洲二区| 欧美国产一区二区在线观看| 日韩一区二区在线播放| 日韩欧美另类在线| 欧美日韩综合色| 色婷婷综合久久久中文字幕| 成人免费视频app| 国产91精品一区二区麻豆网站| 日韩在线一区二区三区| 丝袜美腿成人在线| 亚洲精品免费视频| 亚洲一区二区在线免费观看视频| 久久综合国产精品| 欧美一区在线视频| 日韩一区二区免费在线观看| 欧美成人a视频| 久久色在线观看| 久久久国产午夜精品| 国产日韩影视精品| 首页亚洲欧美制服丝腿| 麻豆高清免费国产一区| 精品一区二区三区视频在线观看| 精品一区二区三区av| 国产精品一二二区| 一本大道久久a久久综合婷婷| 91麻豆成人久久精品二区三区| 本田岬高潮一区二区三区| 日韩av一级片| 一区二区三区四区不卡在线| 国产女人18水真多18精品一级做 | 亚洲综合成人在线| 亚洲va国产va欧美va观看| 国产精品伦理在线| 欧美激情综合网| 亚洲国产精品99久久久久久久久 | 成人免费毛片a| 成人国产在线观看|