X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=folded-ctf.git;a=blobdiff_plain;f=materials.cc;h=21f6790e0d4cc8f6b5aea134d4e6cd180efbbd3a;hp=bbb6cbf437eb9b542e983c83e467a6080c9e3813;hb=ccc2785ee823c934edcededc5c6448e4f9488f8b;hpb=82c3a0366dd58ea2b3a2fc3f90be3f1a42ac8341 diff --git a/materials.cc b/materials.cc index bbb6cbf..21f6790 100644 --- a/materials.cc +++ b/materials.cc @@ -139,72 +139,72 @@ void write_pool_images_with_poses_and_referentials(LabelledImagePool *pool, } for(int i = 0; i < min(global.nb_images, pool->nb_images()); i++) { - image = pool->grab_image(i); - - RGBImage result(image->width(), image->height()); - image->to_rgb(&result); - RGBImageSubpixel result_sp(&result); - - int u = 0; - - // image->compute_rich_structure(); - - for(int t = 0; t < image->nb_targets(); t++) { - - image->get_target_pose(t)->draw(4, 255, 0, 0, - hierarchy->nb_levels() - 1, &result_sp); - - hierarchy->get_containing_cell(image, - hierarchy->nb_levels() - 1, - image->get_target_pose(t), &target_cell); - - target_cell.get_centroid(&p); - - p.draw(4, 0, 255, 0, hierarchy->nb_levels() - 1, &result_sp); - - PiReferential referential(&target_cell); - - sprintf(buffer, "/tmp/referential-%05d-%02d.png", i, u); - image->compute_rich_structure(); - write_referential_png(buffer, hierarchy->nb_levels() - 1, image, &referential, 0); - - if(detector) { - int nb_features = 100; - for(int f = 0; f < nb_features; f++) - if(f == 0 || f ==50 || f == 53) { - int n_family, n_feature; - if(f < nb_features/2) { - n_family = 0; - n_feature = f; - } else { - n_family = detector->_nb_classifiers_per_level; - n_feature = f - nb_features/2; - } - pf = detector->_pi_feature_families[n_family]->get_feature(n_feature); - sprintf(buffer, "/tmp/pf-%05d-%02d-%03d.png", i, u, f); - write_referential_png(buffer, - hierarchy->nb_levels() - 1, - image, - &referential, - pf); + image = pool->grab_image(i); + + RGBImage result(image->width(), image->height()); + image->to_rgb(&result); + RGBImageSubpixel result_sp(&result); + + int u = 0; + + // image->compute_rich_structure(); + + for(int t = 0; t < image->nb_targets(); t++) { + + image->get_target_pose(t)->draw(4, 255, 0, 0, + hierarchy->nb_levels() - 1, &result_sp); + + hierarchy->get_containing_cell(image, + hierarchy->nb_levels() - 1, + image->get_target_pose(t), &target_cell); + + target_cell.get_centroid(&p); + + p.draw(4, 0, 255, 0, hierarchy->nb_levels() - 1, &result_sp); + + PiReferential referential(&target_cell); + + sprintf(buffer, "/tmp/referential-%05d-%02d.png", i, u); + image->compute_rich_structure(); + write_referential_png(buffer, hierarchy->nb_levels() - 1, image, &referential, 0); + + if(detector) { + int nb_features = 100; + for(int f = 0; f < nb_features; f++) + if(f == 0 || f ==50 || f == 53) { + int n_family, n_feature; + if(f < nb_features/2) { + n_family = 0; + n_feature = f; + } else { + n_family = detector->_nb_classifiers_per_level; + n_feature = f - nb_features/2; } + pf = detector->_pi_feature_families[n_family]->get_feature(n_feature); + sprintf(buffer, "/tmp/pf-%05d-%02d-%03d.png", i, u, f); + write_referential_png(buffer, + hierarchy->nb_levels() - 1, + image, + &referential, + pf); } - u++; - } + } + u++; + } - // sprintf(buffer, "/tmp/image-%05d.png", i); - // cout << "Writing " << buffer << endl; - // result_sp.write_png(buffer); + // sprintf(buffer, "/tmp/image-%05d.png", i); + // cout << "Writing " << buffer << endl; + // result_sp.write_png(buffer); - // if(global.write_tag_images) { - // sprintf(buffer, "/tmp/image-%05d_tags.png", i); - // cout << "Writing " << buffer << endl; - // image->compute_rich_structure(); - // image->write_tag_png(buffer); - // } + // if(global.write_tag_images) { + // sprintf(buffer, "/tmp/image-%05d_tags.png", i); + // cout << "Writing " << buffer << endl; + // image->compute_rich_structure(); + // image->write_tag_png(buffer); + // } - pool->release_image(i); - } + pool->release_image(i); + } delete hierarchy; }