The following is the Python code that OpenCV created on my machine for detectRegions function. The Python function signature is: cv2.text.detectRegions(image, er_filter1, er_filter2[, method[, filename[, minProbability]]]) -> groups_rects.
If you look at the code closely, you'll see that two different versions of cv::text::detectRegions is being called based on the number and type of arguments you provide.
static PyObject* pyopencv_cv_text_detectRegions(PyObject* , PyObject* args, PyObject* kw)
{
using namespace cv::text;
{
PyObject* pyobj_image = NULL;
Mat image;
PyObject* pyobj_er_filter1 = NULL;
Ptr<ERFilter> er_filter1;
PyObject* pyobj_er_filter2 = NULL;
Ptr<ERFilter> er_filter2;
vector_vector_Point regions;
const char* keywords[] = { "image", "er_filter1", "er_filter2", NULL };
if( PyArg_ParseTupleAndKeywords(args, kw, "OOO:detectRegions", (char**)keywords, &pyobj_image, &pyobj_er_filter1, &pyobj_er_filter2) &&
pyopencv_to(pyobj_image, image, ArgInfo("image", 0)) &&
pyopencv_to(pyobj_er_filter1, er_filter1, ArgInfo("er_filter1", 0)) &&
pyopencv_to(pyobj_er_filter2, er_filter2, ArgInfo("er_filter2", 0)) )
{
ERRWRAP2(cv::text::detectRegions(image, er_filter1, er_filter2, regions));
return pyopencv_from(regions);
}
}
PyErr_Clear();
{
PyObject* pyobj_image = NULL;
UMat image;
PyObject* pyobj_er_filter1 = NULL;
Ptr<ERFilter> er_filter1;
PyObject* pyobj_er_filter2 = NULL;
Ptr<ERFilter> er_filter2;
vector_vector_Point regions;
const char* keywords[] = { "image", "er_filter1", "er_filter2", NULL };
if( PyArg_ParseTupleAndKeywords(args, kw, "OOO:detectRegions", (char**)keywords, &pyobj_image, &pyobj_er_filter1, &pyobj_er_filter2) &&
pyopencv_to(pyobj_image, image, ArgInfo("image", 0)) &&
pyopencv_to(pyobj_er_filter1, er_filter1, ArgInfo("er_filter1", 0)) &&
pyopencv_to(pyobj_er_filter2, er_filter2, ArgInfo("er_filter2", 0)) )
{
ERRWRAP2(cv::text::detectRegions(image, er_filter1, er_filter2, regions));
return pyopencv_from(regions);
}
}
PyErr_Clear();
{
PyObject* pyobj_image = NULL;
Mat image;
PyObject* pyobj_er_filter1 = NULL;
Ptr<ERFilter> er_filter1;
PyObject* pyobj_er_filter2 = NULL;
Ptr<ERFilter> er_filter2;
vector_Rect groups_rects;
int method=ERGROUPING_ORIENTATION_HORIZ;
PyObject* pyobj_filename = NULL;
String filename;
float minProbability=(float)0.5;
const char* keywords[] = { "image", "er_filter1", "er_filter2", "method", "filename", "minProbability", NULL };
if( PyArg_ParseTupleAndKeywords(args, kw, "OOO|iOf:detectRegions", (char**)keywords, &pyobj_image, &pyobj_er_filter1, &pyobj_er_filter2, &method, &pyobj_filename, &minProbability) &&
pyopencv_to(pyobj_image, image, ArgInfo("image", 0)) &&
pyopencv_to(pyobj_er_filter1, er_filter1, ArgInfo("er_filter1", 0)) &&
pyopencv_to(pyobj_er_filter2, er_filter2, ArgInfo("er_filter2", 0)) &&
pyopencv_to(pyobj_filename, filename, ArgInfo("filename", 0)) )
{
ERRWRAP2(cv::text::detectRegions(image, er_filter1, er_filter2, groups_rects, method, filename, minProbability));
return pyopencv_from(groups_rects);
}
}
PyErr_Clear();
{
PyObject* pyobj_image = NULL;
UMat image;
PyObject* pyobj_er_filter1 = NULL;
Ptr<ERFilter> er_filter1;
PyObject* pyobj_er_filter2 = NULL;
Ptr<ERFilter> er_filter2;
vector_Rect groups_rects;
int method=ERGROUPING_ORIENTATION_HORIZ;
PyObject* pyobj_filename = NULL;
String filename;
float minProbability=(float)0.5;
const char* keywords[] = { "image", "er_filter1", "er_filter2", "method", "filename", "minProbability", NULL };
if( PyArg_ParseTupleAndKeywords(args, kw, "OOO|iOf:detectRegions", (char**)keywords, &pyobj_image, &pyobj_er_filter1, &pyobj_er_filter2, &method, &pyobj_filename, &minProbability) &&
pyopencv_to(pyobj_image, image, ArgInfo("image", 0)) &&
pyopencv_to(pyobj_er_filter1, er_filter1, ArgInfo("er_filter1", 0)) &&
pyopencv_to(pyobj_er_filter2, er_filter2, ArgInfo("er_filter2", 0)) &&
pyopencv_to(pyobj_filename, filename, ArgInfo("filename", 0)) )
{
ERRWRAP2(cv::text::detectRegions(image, er_filter1, er_filter2, groups_rects, method, filename, minProbability));
return pyopencv_from(groups_rects);
}
}
return NULL;
}
cv2.text.detectRegions(image, er_filter1, er_filter2[, method[, filename[, minProbability]]]) -> groups_rects.