Skip to content

Commit d25309f

Browse files
committed
first parameter of createERFilterNM1/createERFilterNM2 is now mandatory. changed the sample program to use the new prototypes
1 parent 75fdfba commit d25309f

File tree

3 files changed

+10
-18
lines changed

3 files changed

+10
-18
lines changed

modules/objdetect/include/opencv2/objdetect/erfilter.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,16 +164,16 @@ class CV_EXPORTS ERFilter : public Algorithm
164164
local minimum is greater than minProbabilityDiff).
165165
166166
\param cb Callback with the classifier.
167-
if omitted tries to load a default classifier from file trained_classifierNM1.xml
168167
default classifier can be implicitly load with function loadClassifierNM1()
168+
from file in samples/cpp/trained_classifierNM1.xml
169169
\param thresholdDelta Threshold step in subsequent thresholds when extracting the component tree
170170
\param minArea The minimum area (% of image size) allowed for retreived ER's
171171
\param minArea The maximum area (% of image size) allowed for retreived ER's
172172
\param minProbability The minimum probability P(er|character) allowed for retreived ER's
173173
\param nonMaxSuppression Whenever non-maximum suppression is done over the branch probabilities
174174
\param minProbability The minimum probability difference between local maxima and local minima ERs
175175
*/
176-
CV_EXPORTS Ptr<ERFilter> createERFilterNM1(const Ptr<ERFilter::Callback>& cb = Ptr<ERFilter::Callback>(),
176+
CV_EXPORTS Ptr<ERFilter> createERFilterNM1(const Ptr<ERFilter::Callback>& cb,
177177
int thresholdDelta = 1, float minArea = 0.00025,
178178
float maxArea = 0.13, float minProbability = 0.4,
179179
bool nonMaxSuppression = true,
@@ -189,11 +189,11 @@ CV_EXPORTS Ptr<ERFilter> createERFilterNM1(const Ptr<ERFilter::Callback>& cb = P
189189
additional features: hole area ratio, convex hull ratio, and number of outer inflexion points.
190190
191191
\param cb Callback with the classifier
192-
if omitted tries to load a default classifier from file trained_classifierNM2.xml
193192
default classifier can be implicitly load with function loadClassifierNM2()
193+
from file in samples/cpp/trained_classifierNM2.xml
194194
\param minProbability The minimum probability P(er|character) allowed for retreived ER's
195195
*/
196-
CV_EXPORTS Ptr<ERFilter> createERFilterNM2(const Ptr<ERFilter::Callback>& cb = Ptr<ERFilter::Callback>(),
196+
CV_EXPORTS Ptr<ERFilter> createERFilterNM2(const Ptr<ERFilter::Callback>& cb,
197197
float minProbability = 0.3);
198198

199199

modules/objdetect/src/erfilter.cpp

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1056,8 +1056,8 @@ double ERClassifierNM2::eval(const ERStat& stat)
10561056
local minimum is greater than minProbabilityDiff).
10571057
10581058
\param cb Callback with the classifier.
1059-
if omitted tries to load a default classifier from file trained_classifierNM1.xml
10601059
default classifier can be implicitly load with function loadClassifierNM1()
1060+
from file in samples/cpp/trained_classifierNM1.xml
10611061
\param thresholdDelta Threshold step in subsequent thresholds when extracting the component tree
10621062
\param minArea The minimum area (% of image size) allowed for retreived ER's
10631063
\param minArea The maximum area (% of image size) allowed for retreived ER's
@@ -1077,12 +1077,7 @@ Ptr<ERFilter> createERFilterNM1(const Ptr<ERFilter::Callback>& cb, int threshold
10771077

10781078
Ptr<ERFilterNM> filter = makePtr<ERFilterNM>();
10791079

1080-
if (cb == NULL)
1081-
filter->setCallback(makePtr<ERClassifierNM1>("trained_classifierNM1.xml"));
1082-
else
1083-
filter->setCallback(cb);
1084-
1085-
1080+
filter->setCallback(cb);
10861081

10871082
filter->setThresholdDelta(thresholdDelta);
10881083
filter->setMinArea(minArea);
@@ -1103,8 +1098,8 @@ Ptr<ERFilter> createERFilterNM1(const Ptr<ERFilter::Callback>& cb, int threshold
11031098
additional features: hole area ratio, convex hull ratio, and number of outer inflexion points.
11041099
11051100
\param cb Callback with the classifier
1106-
if omitted tries to load a default classifier from file trained_classifierNM2.xml
11071101
default classifier can be implicitly load with function loadClassifierNM1()
1102+
from file in samples/cpp/trained_classifierNM2.xml
11081103
\param minProbability The minimum probability P(er|character) allowed for retreived ER's
11091104
*/
11101105
Ptr<ERFilter> createERFilterNM2(const Ptr<ERFilter::Callback>& cb, float minProbability)
@@ -1114,10 +1109,7 @@ Ptr<ERFilter> createERFilterNM2(const Ptr<ERFilter::Callback>& cb, float minProb
11141109

11151110
Ptr<ERFilterNM> filter = makePtr<ERFilterNM>();
11161111

1117-
if (cb == NULL)
1118-
filter->setCallback(makePtr<ERClassifierNM2>("trained_classifierNM2.xml"));
1119-
else
1120-
filter->setCallback(cb);
1112+
filter->setCallback(cb);
11211113

11221114
filter->setMinProbability(minProbability);
11231115
return (Ptr<ERFilter>)filter;

samples/cpp/erfilter.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ int main(int argc, const char * argv[])
5858
double t = (double)getTickCount();
5959

6060
// Build ER tree and filter with the 1st stage default classifier
61-
Ptr<ERFilter> er_filter1 = createERFilterNM1();
61+
Ptr<ERFilter> er_filter1 = createERFilterNM1(loadClassifierNM1("trained_classifierNM1.xml"));
6262

6363
er_filter1->run(grey, regions);
6464

@@ -89,7 +89,7 @@ int main(int argc, const char * argv[])
8989
t = (double)getTickCount();
9090

9191
// Default second stage classifier
92-
Ptr<ERFilter> er_filter2 = createERFilterNM2();
92+
Ptr<ERFilter> er_filter2 = createERFilterNM2(loadClassifierNM2("trained_classifierNM2.xml"));
9393
er_filter2->run(grey, regions);
9494

9595
t = (double)getTickCount() - t;

0 commit comments

Comments
 (0)