removed hard codinginput parameters

pull/1348/head
Suman Ghosh 8 years ago
parent efc864c5fe
commit 887e6e5ed6
  1. 14
      modules/text/src/ocr_holistic.cpp
  2. 16
      modules/text/src/text_detectorCNN.cpp

@ -271,9 +271,9 @@ protected:
//Size outputGeometry_;//= Size(1,1); //Size outputGeometry_;//= Size(1,1);
//int channelCount_; //int channelCount_;
// int inputChannel_ ;//=1; // int inputChannel_ ;//=1;
//const int _inputHeight =32; int _inputHeight;
//const int _inputWidth =100; int _inputWidth ;
//const int _inputChannel =1; int _inputChannel ;
public: public:
DeepCNNOpenCvDNNImpl(const DeepCNNOpenCvDNNImpl& dn): DeepCNNOpenCvDNNImpl(const DeepCNNOpenCvDNNImpl& dn):
minibatchSz_(dn.minibatchSz_),outputSize_(dn.outputSize_){ minibatchSz_(dn.minibatchSz_),outputSize_(dn.outputSize_){
@ -300,8 +300,8 @@ public:
//Implemented to supress Visual Studio warning "assignment operator could not be generated" //Implemented to supress Visual Studio warning "assignment operator could not be generated"
} }
DeepCNNOpenCvDNNImpl(String modelArchFilename, String modelWeightsFilename,Ptr<ImagePreprocessor> preprocessor, int maxMinibatchSz,int inputWidth =100,int inputHeight = 32) DeepCNNOpenCvDNNImpl(String modelArchFilename, String modelWeightsFilename,Ptr<ImagePreprocessor> preprocessor, int maxMinibatchSz,int inputWidth =100,int inputHeight = 32,int inputChannel =1)
:minibatchSz_(maxMinibatchSz),_inputWidth(inputWidth),_inputHeight(inputHeight) :minibatchSz_(maxMinibatchSz),_inputWidth(inputWidth),_inputHeight(inputHeight),_inputChannel(inputChannel)
{ {
CV_Assert(this->minibatchSz_>0); CV_Assert(this->minibatchSz_>0);
@ -612,13 +612,13 @@ public:
this->classifier_->classifyBatch(inputImageList,netOutput); this->classifier_->classifyBatch(inputImageList,netOutput);
for(int k=0;k<netOutput.rows;k++) for(int k=0;k<netOutput.rows;k++)
{https://www.google.es/?gfe_rd=cr&dcr=0&ei=4fq7We8Bk9jyB8zPp5AL {
int classNum; int classNum;
double confidence; double confidence;
NetOutput::getClassification((float*)(netOutput.row(k).data),this->classifier_->getOutputSize(),classNum,confidence); NetOutput::getClassification((float*)(netOutput.row(k).data),this->classifier_->getOutputSize(),classNum,confidence);
transcriptionVec.push_back(this->labels_[classNum]); transcriptionVec.push_back(this->labels_[classNum]);
confidenceVec.push_back(confidence); confidenceVec.push_back(confidence);
}https://www.google.es/?gfe_rd=cr&dcr=0&ei=4fq7We8Bk9jyB8zPp5AL }
} }

@ -252,9 +252,9 @@ protected:
//Size inputGeometry_; //Size inputGeometry_;
int minibatchSz_;//The existence of the assignment operator mandates this to be nonconst int minibatchSz_;//The existence of the assignment operator mandates this to be nonconst
//int outputSize_; //int outputSize_;
const int _inputHeight =700; int inputHeight_;
const int _inputWidth =700; int inputWidth_;
const int _inputChannel =3; int inputChannel_;
public: public:
DeepCNNTextDetectorDNNImpl(const DeepCNNTextDetectorDNNImpl& dn): DeepCNNTextDetectorDNNImpl(const DeepCNNTextDetectorDNNImpl& dn):
minibatchSz_(dn.minibatchSz_){ minibatchSz_(dn.minibatchSz_){
@ -282,8 +282,8 @@ public:
//Implemented to supress Visual Studio warning "assignment operator could not be generated" //Implemented to supress Visual Studio warning "assignment operator could not be generated"
} }
DeepCNNTextDetectorDNNImpl(String modelArchFilename, String modelWeightsFilename,Ptr<ImagePreprocessor> preprocessor, int maxMinibatchSz) DeepCNNTextDetectorDNNImpl(String modelArchFilename, String modelWeightsFilename,Ptr<ImagePreprocessor> preprocessor, int maxMinibatchSz,int inputHeight=700,int inputWidth =700,int inputChannel =3)
:minibatchSz_(maxMinibatchSz) :minibatchSz_(maxMinibatchSz),inputHeight_(inputHeight),inputWidth_(inputWidth),inputChannel_(inputChannel)
{ {
CV_Assert(this->minibatchSz_>0); CV_Assert(this->minibatchSz_>0);
@ -304,9 +304,9 @@ public:
exit(-1); exit(-1);
} }
this->inputGeometry_.height =_inputHeight; this->inputGeometry_.height =inputHeight_;
this->inputGeometry_.width = _inputWidth ;//inputLayer->width(); this->inputGeometry_.width = inputWidth_ ;//inputLayer->width();
this->inputChannelCount_ = _inputChannel ;//inputLayer->channels(); this->inputChannelCount_ = inputChannel_ ;//inputLayer->channels();
#else #else
CV_Error(Error::StsError,"DNN module not available during compilation!"); CV_Error(Error::StsError,"DNN module not available during compilation!");

Loading…
Cancel
Save