| [mmMaxaopenthmt] [Up] [mmMaxthreshold] | Thresholds and Regional Maxima |
| User Feedback |
Return a regional maxima feature:
"binary" - returns the regional maxima as a binary image."values" - returns the regional maxima as a gray-scale image."labels" - returns the regional maxima as a labeled image."a-dyn-image" - returns the area dynamics as a gray-scale image."h-dyn-image" - returns the contrast dynamics as a gray-scale image."v-dyn-image" - returns the volume dynamics as a gray-scale image."a-dyn" - returns the area dynamics of each regional maximum."h-dyn" - returns the contrast dynamics of each regional maximum."v-dyn" - returns the volume dynamics of each regional maximum."stats" - returns the regional maxima statistics; each row contains:
[0] area: node area (number of pixels)[1] sum_x: x_centroid = sum_x / area[2] sum_y: y_centroid = sum_y / area[3] xmin: minimum x coordinate[4] ymin: minimum y coordinate[5] xmax: maximum x coordinate[6] ymax: maximum y coordinate
Image a = mmReadgray("galeao.jpg");
MaxTree mt = mmMaxaopenmt(mmMaxtree(a), "area", 500);
Image b = mmMaxregmax(mt);
mmShow(b);
![]() |
|
| b |
Image c = mmMaxregmax(mt, "labels");
mmLblshow(c);
![]() |
|
| c |
Image stats = mmMaxregmax(mt, "stats");
int ***ptr = (int ***)stats.pointers();
printf("Found %d blobs. Printing the first five:\n", stats.height());
for(int i = 0; i < 5; i++) {
int *blob = ptr[0][i];
printf("Blob #%d: %4d %6d %6d %3d %3d %3d %3d\n",
i+1, blob[0], blob[1], blob[2], blob[3], blob[4], blob[5], blob[6]);
}
Found 49 blobs. Printing the first five: Blob #1: 504 41098 13363 59 0 101 58 Blob #2: 572 215931 12417 359 0 394 43 Blob #3: 501 231151 7718 442 0 480 35 Blob #4: 517 280578 10575 509 0 573 32 Blob #5: 827 178076 25759 178 3 237 57
unsigned char _b[7] = {9, 10, 11, 4, 10, 10, 2};
Image bb = Image(7, 1, 1, "uint8", (char *)_b);
MaxTree mx = mmMaxtree(bb);
Image hhi = mmMaxregmax(mx, "h-dyn-image");
Image hh = mmMaxregmax(mx, "h-dyn");
Image vvi = mmMaxregmax(mx, "v-dyn-image");
Image vv = mmMaxregmax(mx, "v-dyn");
Image aai = mmMaxregmax(mx, "a-dyn-image");
Image aa = mmMaxregmax(mx, "a-dyn");
printf("h-dyn-image: %s\n%s\n", hhi.typestr(), (char *)hhi.str()); // [0 0 9 0 6 6 0]
printf("h-dyn: %s\n%s\n", hh.typestr(), (char *)hh.str());
printf("v-dyn-image: %s\n%s\n", vvi.typestr(), (char *)vvi.str()); // [0 0 42 0 12 12 0]
printf("v-dyn: %s\n%s\n", vv.typestr(), (char *)vv.str());
printf("a-dyn-image: %s\n%s\n", aai.typestr(), (char *)aai.str()); // [0 0 7 0 2 2 0]
printf("a-dyn: %s\n%s\n", aa.typestr(), (char *)aa.str());
h-dyn-image: int32
0 0 9 0 6 6 0
h-dyn: int32
9 6
v-dyn-image: int32
0 0 42 0 12 12 0
v-dyn: int32
42 12
a-dyn-image: int32
0 0 6 0 2 2 0
a-dyn: int32
6 2
| [mmMaxaopenthmt] [Up] [mmMaxthreshold] | |
| User Feedback | |
| Copyright (c) 1998-2008 by SDC Information Systems |