Commit 8d98330e49577225696a08b1f93e807664444a8c

Authored by dgcrouse
1 parent 23f3062c

Fixed bug where arguments not passed to trainer

Showing 1 changed file with 38 additions and 38 deletions
openbr/plugins/cascade.cpp
@@ -90,67 +90,67 @@ struct TrainParams @@ -90,67 +90,67 @@ struct TrainParams
90 QStringList buildTrainingArgs(const TrainParams params) 90 QStringList buildTrainingArgs(const TrainParams params)
91 { 91 {
92 QStringList args; 92 QStringList args;
93 - if (params.data != "") args.append("-data " + params.data + " "); 93 + if (params.data != "") args << "-data" << params.data;
94 else qFatal("Must specify storage location for cascade"); 94 else qFatal("Must specify storage location for cascade");
95 - if (params.vec != "") args.append("-vec " + params.vec + " "); 95 + if (params.vec != "") args << "-vec" << params.vec;
96 else qFatal("Must specify location of positive vector"); 96 else qFatal("Must specify location of positive vector");
97 - if (params.bg != "") args.append("-bg " + params.bg + " "); 97 + if (params.bg != "") args << "-bg" << params.bg;
98 else qFatal("Must specify negative images"); 98 else qFatal("Must specify negative images");
99 - if (params.numPos >= 0) args.append("-numPos " + QString::number(params.numPos) + " ");  
100 - if (params.numNeg >= 0) args.append("-numNeg " + QString::number(params.numNeg) + " ");  
101 - if (params.numStages >= 0) args.append("-numStages " + QString::number(params.numStages) + " ");  
102 - if (params.precalcValBufSize >= 0) args.append("-precalcValBufSize " + QString::number(params.precalcValBufSize) + " ");  
103 - if (params.precalcIdxBufSize >= 0) args.append("-precalcIdxBufSize " + QString::number(params.precalcIdxBufSize) + " ");  
104 - if (params.baseFormatSave) args.append("-baseFormatSave ");  
105 - if (params.stageType != "") args.append("-stageType " + params.stageType + " ");  
106 - if (params.featureType != "") args.append("-featureType " + params.featureType + " ");  
107 - if (params.w >= 0) args.append("-w " + QString::number(params.w) + " "); 99 + if (params.numPos >= 0) args << "-numPos" << QString::number(params.numPos);
  100 + if (params.numNeg >= 0) args << "-numNeg" << QString::number(params.numNeg);
  101 + if (params.numStages >= 0) args << "-numStages" << QString::number(params.numStages);
  102 + if (params.precalcValBufSize >= 0) args << "-precalcValBufSize" << QString::number(params.precalcValBufSize);
  103 + if (params.precalcIdxBufSize >= 0) args << "-precalcIdxBufSize" << QString::number(params.precalcIdxBufSize);
  104 + if (params.baseFormatSave) args << "-baseFormatSave";
  105 + if (params.stageType != "") args << "-stageType" << params.stageType;
  106 + if (params.featureType != "") args << "-featureType" << params.featureType;
  107 + if (params.w >= 0) args << "-w" << QString::number(params.w);
108 else qFatal("Must specify width"); 108 else qFatal("Must specify width");
109 - if (params.h >= 0) args.append("-h " + QString::number(params.h) + " "); 109 + if (params.h >= 0) args << "-h" << QString::number(params.h);
110 else qFatal("Must specify height"); 110 else qFatal("Must specify height");
111 - if (params.bt != "") args.append("-bt " + params.bt + " ");  
112 - if (params.minHitRate >= 0) args.append("-minHitRate " + QString::number(params.minHitRate) + " ");  
113 - if (params.maxFalseAlarmRate >= 0) args.append("-maxFalseAlarmRate " + QString::number(params.maxFalseAlarmRate) + " ");  
114 - if (params.weightTrimRate >= 0) args.append("-weightTrimRate " + QString::number(params.weightTrimRate) + " ");  
115 - if (params.maxDepth >= 0) args.append("-maxDepth " + QString::number(params.maxDepth) + " ");  
116 - if (params.maxWeakCount >= 0) args.append("-maxWeakCount " + QString::number(params.maxWeakCount) + " ");  
117 - if (params.mode != "") args.append("-mode " + params.mode + " "); 111 + if (params.bt != "") args << "-bt" << params.bt;
  112 + if (params.minHitRate >= 0) args << "-minHitRate" << QString::number(params.minHitRate);
  113 + if (params.maxFalseAlarmRate >= 0) args << "-maxFalseAlarmRate" << QString::number(params.maxFalseAlarmRate);
  114 + if (params.weightTrimRate >= 0) args << "-weightTrimRate" << QString::number(params.weightTrimRate);
  115 + if (params.maxDepth >= 0) args << "-maxDepth" << QString::number(params.maxDepth);
  116 + if (params.maxWeakCount >= 0) args << "-maxWeakCount" << QString::number(params.maxWeakCount);
  117 + if (params.mode != "") args << "-mode" << params.mode;
118 return args; 118 return args;
119 } 119 }
120 120
121 QStringList buildSampleArgs(const TrainParams params) 121 QStringList buildSampleArgs(const TrainParams params)
122 { 122 {
123 QStringList args; 123 QStringList args;
124 - if (params.vec != "") args.append("-vec " + params.vec+" "); 124 + if (params.vec != "") args << "-vec" << params.vec;
125 else qFatal("Must specify location of positive vector"); 125 else qFatal("Must specify location of positive vector");
126 - if (params.img != "") args.append("-img " + params.img + " ");  
127 - else if (params.info != "") args.append("-info " + params.info + " "); 126 + if (params.img != "") args << "-img" << params.img;
  127 + else if (params.info != "") args << "-info" << params.info;
128 else qFatal("Must specify positive images"); 128 else qFatal("Must specify positive images");
129 - if (params.bg != "") args.append("-bg " + params.bg + " ");  
130 - if (params.num > 0) args.append("-num " + QString::number(params.num) + " ");  
131 - if (params.bgcolor >=0 ) args.append("-bgcolor " + QString::number(params.bgcolor) + " ");  
132 - if (params.bgthresh >= 0) args.append("-bgthresh " + QString::number(params.bgthresh) + " ");  
133 - if (params.maxidev >= 0) args.append("-maxidev " + QString::number(params.maxidev) + " ");  
134 - if (params.maxxangle >= 0) args.append("-maxxangle " + QString::number(params.maxxangle) + " ");  
135 - if (params.maxyangle >= 0) args.append("-maxyangle " + QString::number(params.maxyangle) + " ");  
136 - if (params.maxzangle >= 0) args.append("-maxzangle " + QString::number(params.maxzangle) + " ");  
137 - if (params.w >= 0) args.append("-w " + QString::number(params.w) + " ");  
138 - if (params.h >= 0) args.append("-h " + QString::number(params.h) + " ");  
139 - if (params.show) args.append("-show ");  
140 - if (params.inv) args.append("-inv ");  
141 - if (params.randinv) args.append("-randinv "); 129 + if (params.bg != "") args << "-bg" << params.bg;
  130 + if (params.num > 0) args << "-num" << QString::number(params.num);
  131 + if (params.bgcolor >=0 ) args << "-bgcolor" << QString::number(params.bgcolor);
  132 + if (params.bgthresh >= 0) args << "-bgthresh" << QString::number(params.bgthresh);
  133 + if (params.maxidev >= 0) args << "-maxidev" << QString::number(params.maxidev);
  134 + if (params.maxxangle >= 0) args << "-maxxangle" << QString::number(params.maxxangle);
  135 + if (params.maxyangle >= 0) args << "-maxyangle" << QString::number(params.maxyangle);
  136 + if (params.maxzangle >= 0) args << "-maxzangle" << QString::number(params.maxzangle);
  137 + if (params.w >= 0) args << "-w" << QString::number(params.w);
  138 + if (params.h >= 0) args << "-h" << QString::number(params.h);
  139 + if (params.show) args << "-show";
  140 + if (params.inv) args << "-inv";
  141 + if (params.randinv) args << "-randinv";
142 return args; 142 return args;
143 } 143 }
144 144
145 void genSamples(const TrainParams params) 145 void genSamples(const TrainParams params)
146 { 146 {
147 - QStringList cmdArgs = buildSampleArgs(params); 147 + const QStringList cmdArgs = buildSampleArgs(params);
148 QProcess::execute("opencv_createsamples",cmdArgs); 148 QProcess::execute("opencv_createsamples",cmdArgs);
149 } 149 }
150 150
151 void trainCascade(const TrainParams params) 151 void trainCascade(const TrainParams params)
152 { 152 {
153 - QStringList cmdArgs = buildTrainingArgs(params); 153 + const QStringList cmdArgs = buildTrainingArgs(params);
154 QProcess::execute("opencv_traincascade", cmdArgs); 154 QProcess::execute("opencv_traincascade", cmdArgs);
155 } 155 }
156 156