Advertisement

使用hog.detectMultiScale出现错误, 其中(dsize.area()>0 || (inv_scale_x>0 && inv_scale_y>0))

阅读量:

在图像处理过程中,出现了一个OpenCV的错误提示,内容为“断言失败 (dsize.area() > 0 || (inv_scale_x > 0 && inv_scale_y > 0))”,该错误出现在resize函数中,具体位于文件路径 /home/tau/opencv/opencv-3.1.0/modules/imgproc/src/imgwarp.cpp 的第3230行。

同样在 /home/tau/opencv/opencv-3.1.0/modules/imgproc/src/imgwarp.cpp 的第3230行,出现了如下错误信息:(-215) dsize.area() > 0 || (inv_scale_x > 0 && inv_scale_y > 0) 在函数 resize 中发生。

随后特意查阅了相关函数的源代码,发现这个错误并非源于resize函数本身,也不是detectMultiScale函数的问题。真正的原因在于HOGdescriptor对象的初始化过程。当需要进行多尺度检测时,nlevel参数不能设置为0,否则将引发错误。

由于自己在处理问题时较为随意,并未深入分析错误信息,反而查找了大量中英文资料均未找到有效解决方法。这类基础性问题通常不容易被察觉,并且其报错信息也具有一定迷惑性(尽管后半部分已经给出了提示)。即便查看了源码也难以立刻联

全部评论 (0)

还没有任何评论哟~