Ignore:
Timestamp:
04/12/07 09:25:16 (17 years ago)
Author:
gumbau
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/vmi/src/saliency.cpp

    r2127 r2323  
    5858 
    5959double VMI::computeTriangleSaliency(Mesh *mesh, int **histogram, int numCameras, int k) { 
    60     int i, l, v0, v1, v2; 
    61     int *triangles = NULL, n = 0; 
     60    int i, j, t, v0; 
     61    int n = 0; 
    6262    double sal = 0.0; 
    6363     
    64     v0 = mesh->triangles[k].indices[0]; 
    65     v1 = mesh->triangles[k].indices[1]; 
    66     v2 = mesh->triangles[k].indices[2]; 
    67      
    68     /* Allocating memory */ 
    69     triangles = (int *)malloc((mesh->vertices[v0].numTriangles + 
    70                                mesh->vertices[v1].numTriangles + 
    71                                mesh->vertices[v2].numTriangles) * sizeof(int)); 
    72  
    73     for(i=0; i<mesh->vertices[v0].numTriangles; i++) { 
    74         l = mesh->vertices[v0].triangles[i]; 
     64    for (j=0; j<3; j++) { 
    7565         
    76         if (l != k)  
    77             addItem(triangles, &n, l); 
    78     } 
    79      
    80     for(i=0; i<mesh->vertices[v1].numTriangles; i++) { 
    81         l = mesh->vertices[v1].triangles[i]; 
     66        v0 = mesh->triangles[k].indices[j]; 
    8267         
    83         if (l != k)  
    84             addItem(triangles, &n, l); 
    85     } 
    86      
    87     for(i=0; i<mesh->vertices[v2].numTriangles; i++) { 
    88         l = mesh->vertices[v2].triangles[i]; 
    89          
    90         if (l != k)  
    91             addItem(triangles, &n, l); 
    92     } 
    93      
    94     //printItemList(triangles, n); 
    95      
    96     for(i=0; i<n; i++) { 
    97         //printf("\n%d %d", k, triangles[i]); 
    98         //sal += computeJS(histogram, numCameras, k, triangles[i]); 
    99                 sal = MAX ( sal, computeJS(histogram, numCameras, k, triangles[i])); 
     68        for(i=0; i<mesh->vertices[v0].numTriangles; i++) { 
     69            t = mesh->vertices[v0].triangles[i]; 
     70             
     71            if (t != k) { 
     72                //printf("\n%d %d", k, triangles[i]); 
     73                //sal += computeJS(histogram, numCameras, k, t); 
     74                sal = MAX(sal, computeJS(histogram, numCameras, k, t)); 
     75                 
     76                n++; 
     77            } 
     78        } 
    10079    } 
    10180    //printf("\nT%d Sal: %f\n", k, (sal / n)); 
    10281    //getchar(); 
    10382     
    104     free(triangles); 
    105  
    10683    return (sal /*/ n*/); 
    10784} 
Note: See TracChangeset for help on using the changeset viewer.