void EIEdgeImage::Read(LFLineFitter &lf) { SafeRelease(); width_ = lf.rWidth(); height_ = lf.rHeight(); nLines_ = lf.rNLineSegments(); LFLineSegment* lineSegmentMap = lf.rOutputEdgeMap(); lines_ = new LFLineSegment[nLines_]; for (int i=0 ; i<nLines_ ; i++) lines_[i] = lineSegmentMap[i]; SetLines2Grid(); SetDirections(); }
void EIEdgeImage::Read(const char* fileName) { FILE* fin=NULL; fin = fopen(fileName, "r"); //AKANSEL: FIX NEEDED FOR FILES CREATED IN WINDOWS // jiaming hu modified //string prelude = "./"; string prelude = "/home/jiaming/catkin_ws/"; string fileName_str(fileName); std::string combo = prelude + fileName_str; if (!combo.empty() && combo[combo.size() - 1] == '\r') { combo.erase(combo.size() - 1); } const char* fileName_fixed = combo.c_str(); ////////// fin = fopen(fileName_fixed, "r"); std::cout << "FILE NAME: "<<fileName_fixed << std::endl; if(fileName_fixed==NULL || fin == NULL) { cerr<<"[ERROR] Cannot read file "<<fileName_fixed<<"!!!\n"; perror("fopen"); exit(0); } fscanf(fin, "%d %d", &width_, &height_); //std::cout<<"width: "<<width_<<"height: "<<height_<<std::endl; fscanf(fin, "%d", &nLines_); lines_ = new LFLineSegment[nLines_]; for (int i=0 ; i<nLines_ ; i++) { lines_[i].Read(fin); } SetLines2Grid(); SetDirections(); fclose(fin); }
void EIEdgeImage::Read(const char* fileName) { FILE* fin=NULL; fin = fopen(fileName, "r"); if(fileName==NULL) { cerr<<"[ERROR] Cannot read file "<<fileName<<"\n!!!"; exit(0); } fscanf(fin, "%d %d", &width_, &height_); fscanf(fin, "%d", &nLines_); lines_ = new LFLineSegment[nLines_]; for (int i=0 ; i<nLines_ ; i++) { lines_[i].Read(fin); } SetLines2Grid(); SetDirections(); fclose(fin); }