完整报错信息(我使用的OpenCV版本4.3.0):

opencv-4.3.0\modules\imgproc\src\filterengine.hpp:363: error: (-215:Assertion failed) anchor.inside(Rect(0, 0, ksize.width, ksize.height)) in function 'cv::normalizeAnchor'

参考解决方法:https://blog.csdn.net/qq_27278957/article/details/86630847 

如上面方法所述,问题确实出在膨胀或腐蚀核大小设置上,如下:

Mat k1 = getStructuringElement(MORPH_RECT, Size(1, pinH*2));
dilate(thresImg, thresImg, k1);

但是,并不是因为上面链接所说的膨胀腐蚀核不能小于3,而是不能小于1,因为我其他操作让pinH = 0了,所以才报错的。

大家可以自己尝试,把和大小Size(x, y)中任意一个值改为1或者2都可以正常运行,但是改成0,就会报上面的错。