Example #1
0
 /// Read from files the regions and their corresponding descriptors.
 bool Load(
   const std::string& sfileNameFeats,
   const std::string& sfileNameDescs) override
 {
   return loadFeatsFromFile(sfileNameFeats, vec_feats_)
         & loadDescsFromBinFile(sfileNameDescs, vec_descs_);
 }
Example #2
0
 /// Read from files the feats and their corresponding descriptors
 ///  descriptor in binary to save place
 bool loadFromBinFile(
   const std::string& sfileNameFeats,
   const std::string& sfileNameDescs)
 {
   return loadFeatsFromFile(sfileNameFeats, _feats)
         & loadDescsFromBinFile(sfileNameDescs, _descs);
 }
Example #3
0
TEST(OpenmvgDescriptor, BINARY) {
  	// Create an input series of descriptor
  	Descs_T vec_descs;
  	for(int i = 0; i < CARD; ++i)
  	{
  		Desc_T desc;
  		for (int j = 0; j < DESC_LENGTH; ++j)
  			desc[j] = i*DESC_LENGTH+j;
  		vec_descs.push_back(desc);
  	}

  	//Save them to a file
  	saveDescsToBinFile("tempDescsBin.desc", vec_descs);

  	//Read the saved data and compare to input (to check write/read IO)
  	Descs_T vec_descs_read;
  	loadDescsFromBinFile("tempDescsBin.desc", vec_descs_read);
  	EXPECT_EQ(CARD, vec_descs_read.size());

  	for(int i = 0; i < CARD; ++i) 
  	{
  		for(int j = 0; j < DESC_LENGTH; ++j)
  			EXPECT_EQ(vec_descs[i][j], vec_descs_read[i][j]);
  	}
}
void hulo::readAKAZEBin(std::string filename, cv::Mat& mat) {
	std::vector<openMVG::features::Descriptor<unsigned char, 64>> vec_descs;
	loadDescsFromBinFile(filename, vec_descs);
	mat = cv::Mat::zeros(vec_descs.size(), 64, CV_8UC1);
	for (int i=0; i<vec_descs.size(); i++) {
		for (int j=0; j<vec_descs[i].size(); j++) {
			mat.at<uchar>(i, j) = vec_descs[i][j];
		}
	}
}