| | |
| | | |
| | | typedef struct{ |
| | | int index; |
| | | int class; |
| | | int class_id; |
| | | float **probs; |
| | | } sortable_bbox; |
| | | |
| | |
| | | { |
| | | sortable_bbox a = *(sortable_bbox *)pa; |
| | | sortable_bbox b = *(sortable_bbox *)pb; |
| | | float diff = a.probs[a.index][b.class] - b.probs[b.index][b.class]; |
| | | float diff = a.probs[a.index][b.class_id] - b.probs[b.index][b.class_id]; |
| | | if(diff < 0) return 1; |
| | | else if(diff > 0) return -1; |
| | | return 0; |
| | |
| | | |
| | | for(i = 0; i < total; ++i){ |
| | | s[i].index = i; |
| | | s[i].class = 0; |
| | | s[i].class_id = 0; |
| | | s[i].probs = probs; |
| | | } |
| | | |
| | | for(k = 0; k < classes; ++k){ |
| | | for(i = 0; i < total; ++i){ |
| | | s[i].class = k; |
| | | s[i].class_id = k; |
| | | } |
| | | qsort(s, total, sizeof(sortable_bbox), nms_comparator); |
| | | for(i = 0; i < total; ++i){ |