Ejemplo n.º 1
0
bool VilBaplSIFT::readImageAndSIFT(const char *file, vcl_string & imageName, vcl_string & siftFile)
{
    FILE *pf = fopen(file, "r");
    if (!pf) {
        printf("Error: canot open %s\n", file);
        return false;
    }
    char buf1[1024] = {NULL};
    char buf2[1024] = {NULL};
    fscanf(pf, "%s %s", buf1, buf2);
    imageName = vcl_string(buf1);
    siftFile = vcl_string(buf2);
    fclose(pf);
    return true;    
}
Ejemplo n.º 2
0
void VglPlus::loadPointVector(const char *fileName, vcl_string &imageName, vcl_vector<vgl_point_2d<double>> &wldPts, vcl_vector< vgl_point_2d<double> > &imgPts)
{
    assert(wldPts.size() == 0);
    assert(imgPts.size() == 0);
    
    vsl_b_ifstream bfs_in(fileName);
    assert(bfs_in.is().good() == true);
    
    char strName[1024] = {NULL};
    vsl_b_read(bfs_in, strName);
    imageName = vcl_string(strName);
    
    int num = 0;
    vsl_b_read(bfs_in, num);
    wldPts.resize(num);
    imgPts.resize(num);
    
    for (int i = 0; i<num; i++) {
        vsl_b_read(bfs_in, wldPts[i]);
    }
    for (int i = 0; i<num; i++) {
        vsl_b_read(bfs_in, imgPts[i]);
    }
    bfs_in.close();
}
Ejemplo n.º 3
0
bool VilGMM::read(const char *fileName)
{
    assert(fileName);
    
    if (gmm_) {
        delete gmm_;
        gmm_ = NULL;
    }
    
    vsl_add_to_binary_loader(vpdfl_pc_gaussian());
    vsl_add_to_binary_loader(vpdfl_axis_gaussian());
    vsl_add_to_binary_loader(vpdfl_mixture());
    vsl_add_to_binary_loader(vpdfl_gaussian());
    
    vsl_b_ifstream bfs_in(fileName);
    vsl_b_read(bfs_in, gmm_);
    bfs_in.close();
    
    if (gmm_->is_a() == vcl_string("vpdfl_mixture")) {
        vpdfl_mixture *pmix = static_cast<vpdfl_mixture *>(gmm_);
        comp_n_ = pmix->n_components();
        verbose_ = true;
    }
    else
    {
        comp_n_ = -1;
        verbose_ = true;
    }
    
    return true;
}