OpenCV 错误:ERClassifierNM1 中的错误参数

OpenCV Error: Bad argument in ERClassifierNM1

本文关键字:错误 参数 ERClassifierNM1 OpenCV      更新时间:2023-10-16

我运行opencv 3.2.0,ubuntu 14.04和最新的opencv_contrib。

我运行检查:https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/textdetection.py

但它已经显示出错误:

$ python textdetection.py scenetext_word01.jpg 
textdetection.py
   A demo script of the Extremal Region Filter algorithm described in:
   Neumann L., Matas J.: Real-Time Scene Text Localization and Recognition, CVPR 2012
Extracting Class Specific Extremal Regions from 9 channels ...
(...) this may take a while (...)
OpenCV Error: Bad argument (Default classifier file not found!) in ERClassifierNM1, file /home/vietnam/opencv_and_contri/opencv_contrib/modules/text/src/erfilter.cpp, line 1022
Traceback (most recent call last):
  File "textdetection.py", line 38, in <module>
    erc1 = cv2.text.loadClassifierNM1(pathname+'/trained_classifierNM1.xml')
cv2.error: /home/vietnam/opencv_and_contri/opencv_contrib/modules/text/src/erfilter.cpp:1022: error: (-5) Default classifier file not found! in function ERClassifierNM1

如何解决这个问题?

尝试在 cv2.text.loadClassifierNM1(( 和 cv2.text.loadClassifierNM2(( 的参数中使用相对路径所以现在这部分代码看起来像这样:

erc1 = cv2.text.loadClassifierNM1('./trained_classifierNM1.xml')
er1 = cv2.text.createERFilterNM1(erc1,16,0.00015,0.13,0.2,True,0.1)
erc2 = cv2.text.loadClassifierNM2('./trained_classifierNM2.xml')
er2 = cv2.text.createERFilterNM2(erc2,0.5) 

不确定为什么这有效(它对我有用(,但是在查看了VS2015中针对类似问题发布的解决方案后,我尝试了此操作:https://github.com/cesardelgadof/OpenCVBinaries/issues/1

希望这有帮助。

尝试使用绝对路径,例如"/usr/lib/opencv-3.2.0/opencv_contrib-3.2.0/modules/text/samples/trained_classifierNM1.xml">适用于我的 Ubuntu 16.04,C++