Commit 7c9cff72 authored by Alexander Alekhin's avatar Alexander Alekhin

refactor: don't use CV_ErrorNoReturn() internally

parent a4e8622c
......@@ -79,8 +79,7 @@ bool FacemarkKazemiImpl::convertToUnit(Rect r,Mat &warp){
bool FacemarkKazemiImpl::setMeanExtreme(){
if(meanshape.empty()){
String error_message = "Model not loaded properly.No mean shape found.Aborting...";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
for(size_t i=0;i<meanshape.size();i++){
if(meanshape[i].x>maxmeanx)
......@@ -98,7 +97,7 @@ bool FacemarkKazemiImpl::calcMeanShape (vector< vector<Point2f> >& trainlandmark
//clear the loaded meanshape
if(trainimages.empty()||trainlandmarks.size()!=trainimages.size()) {
// throw error if no data (or simply return -1?)
CV_ErrorNoReturn(Error::StsBadArg, "Number of images is not equal to corresponding landmarks. Aborting...");
CV_Error(Error::StsBadArg, "Number of images is not equal to corresponding landmarks. Aborting...");
}
meanshape.clear();
vector<Mat> finalimages;
......@@ -165,7 +164,7 @@ bool FacemarkKazemiImpl::scaleData( vector< vector<Point2f> > & trainlandmarks,
{
if(trainimages.empty()||trainimages.size()!=trainlandmarks.size()){
// throw error if no data (or simply return -1?)
CV_ErrorNoReturn(Error::StsBadArg, "The data is not loaded properly by train function. Aborting...");
CV_Error(Error::StsBadArg, "The data is not loaded properly by train function. Aborting...");
}
float scalex,scaley;
//scale all images and their landmarks according to input size
......
......@@ -228,8 +228,7 @@ bool loadTrainingData(vector<String> filename,vector< vector<Point2f> >
f1.open(filename[j].c_str(),ios::in);
if(!f1.is_open()){
cout<<filename[j]<<endl;
CV_ErrorNoReturn(Error::StsError, "File can't be opened for reading!");
return false;
CV_Error(Error::StsError, "File can't be opened for reading!");
}
//get the path of the image whose landmarks have to be detected
getline(f1,img);
......
......@@ -113,8 +113,7 @@ bool FacemarkKazemiImpl:: getBestSplit(vector<Point2f> pixel_coordinates, vector
{
if(samples[0].shapeResiduals.size()!=samples[0].current_shape.size()){
String error_message = "Error while generating split.Residuals are not complete.Aborting....";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
//This vector stores the matrices where each matrix represents
//sum of the residuals of shapes of samples which go to the left
......@@ -222,13 +221,11 @@ bool FacemarkKazemiImpl :: generateSplit(queue<node_info>& curr,vector<Point2f>
bool FacemarkKazemiImpl :: buildRegtree(regtree& tree,vector<training_sample>& samples,vector<Point2f> pixel_coordinates){
if(samples.size()==0){
String error_message = "Error while building regression tree.Empty samples. Aborting....";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
if(pixel_coordinates.size()==0){
String error_message = "Error while building regression tree.No pixel coordinates. Aborting....";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
queue<node_info> curr;
node_info parent;
......@@ -291,8 +288,7 @@ unsigned long FacemarkKazemiImpl::divideSamples (splitr split,vector<training_sa
{
if(samples.size()==0){
String error_message = "Error while dividing samples. Sample array empty. Aborting....";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return 0;
CV_Error(Error::StsBadArg, error_message);
}
unsigned long i = start;
training_sample temp;
......
......@@ -54,8 +54,7 @@ bool FacemarkKazemiImpl::setTrainingParameters(String filename){
fs.open(filename, FileStorage::READ);
if (!fs.isOpened())
{ String error_message = "Error while opening configuration file.Aborting..";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
int cascade_depth_;
int tree_depth_;
......@@ -105,8 +104,7 @@ unsigned long FacemarkKazemiImpl:: getNearestLandmark(Point2f pixel)
if(meanshape.empty()) {
// throw error if no data (or simply return -1?)
String error_message = "The data is not loaded properly by train function. Aborting...";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
float dist=float(INT_MAX);
unsigned long index =0;
......@@ -122,8 +120,7 @@ unsigned long FacemarkKazemiImpl:: getNearestLandmark(Point2f pixel)
bool FacemarkKazemiImpl :: getRelativePixels(vector<Point2f> sample,vector<Point2f>& pixel_coordinates,std::vector<int> nearest){
if(sample.size()!=meanshape.size()){
String error_message = "Error while finding relative shape. Aborting....";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
Mat transform_mat;
transform_mat = estimateRigidTransform(meanshape,sample,false);
......@@ -146,8 +143,7 @@ bool FacemarkKazemiImpl :: getRelativePixels(vector<Point2f> sample,vector<Point
bool FacemarkKazemiImpl::getPixelIntensities(Mat img,vector<Point2f> pixel_coordinates,vector<int>& pixel_intensities,Rect face){
if(pixel_coordinates.size()==0){
String error_message = "No pixel coordinates found. Aborting.....";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
Mat transform_mat;
convertToActual(face,transform_mat);
......@@ -259,13 +255,11 @@ bool FacemarkKazemiImpl :: saveModel(String filename){
ofstream f(filename.c_str(),ios::binary);
if(!f.is_open()){
String error_message = "Error while opening file to write model. Aborting....";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
if(loaded_forests.size()!=loaded_pixel_coordinates.size()){
String error_message = "Incorrect training data. Aborting....";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
string s("cascade_depth");
uint64_t len = s.size();
......@@ -306,14 +300,12 @@ void FacemarkKazemiImpl::training(String imageList, String groundTruth){
imageList.clear();
groundTruth.clear();
String error_message = "Less arguments than required";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return ;
CV_Error(Error::StsBadArg, error_message);
}
bool FacemarkKazemiImpl::training(vector<Mat>& images, vector< vector<Point2f> >& landmarks,string filename,Size scale,string modelFilename){
if(!setTrainingParameters(filename)){
String error_message = "Error while loading training parameters";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
vector<Rect> rectangles;
scaleData(landmarks,images,scale);
......@@ -321,8 +313,7 @@ bool FacemarkKazemiImpl::training(vector<Mat>& images, vector< vector<Point2f> >
if(images.size()!=landmarks.size()){
// throw error if no data (or simply return -1?)
String error_message = "The data is not loaded properly. Aborting training function....";
CV_ErrorNoReturn(Error::StsBadArg, error_message);
return false;
CV_Error(Error::StsBadArg, error_message);
}
vector<training_sample> samples;
getTestCoordinates();
......
......@@ -58,7 +58,7 @@ Ptr<TrackerGOTURN> TrackerGOTURN::create(const TrackerGOTURN::Params &parameters
return Ptr<gtr::TrackerGOTURNImpl>(new gtr::TrackerGOTURNImpl(parameters));
#else
(void)(parameters);
CV_ErrorNoReturn(cv::Error::StsNotImplemented , "to use GOTURN, the tracking module needs to be built with opencv_dnn !");
CV_Error(cv::Error::StsNotImplemented , "to use GOTURN, the tracking module needs to be built with opencv_dnn !");
#endif
}
Ptr<TrackerGOTURN> TrackerGOTURN::create()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment