Ejemplo n.º 1
0
Archivo: utils.cpp Proyecto: CV-IP/FRIF
//Using lowe's sift format
//	num dim
//  y x scale orien
bool readKp(const char* kp_file, vector<KeyPoint>& kpts)
{
	ifstream file(kp_file);
	if(!file.is_open())
	{
		cerr<<"Can NOT open file "<<kp_file<<endl;
		return false;
	}

	int num;
	int dim;
	file >> num >> dim;
	kpts.clear();
	kpts.reserve(num);
	for(int i=0; i<num ; i++)
	{
		float x,y,scale,ori,size,angle;
		file >> y >> x >> scale >> ori;
		angle = radian2angle(ori);
		size = scale*FRIF_BASE_SIZE;
		KeyPoint kp(Point2f(x,y),size,angle, 0, 0, -1);
		kpts.push_back(kp);
	}

	file.close();
	return true;
}
Ejemplo n.º 2
0
bool OperatorTrigonometricArc::executeAngle(double &value)
{
	if (!checkValue(value)) {
		setErrMsg("Invalid arc trigonometric value");
		return false;
	}

	if (!executeRadian(value)) {
		return false;
	}

	value = radian2angle(value);
	if (!checkAngle(value)) {
		setErrMsg("Invalid trigonometric angle");
		return false;
	}

	return true;
}