error: (-215:Assertion failed) total >= 0 && (depth == CV_32F || depth == CV_32S) in function 'cv::c

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42886817/article/details/102668067

出错背景

  • 使用的是python-opencv
    在调用cv2.minAreaRect()时候,出现了如下错误:
cv2.error: OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\imgproc\src\convhull.cpp:137: error:(-215:Assertion failed) total >= 0 && (depth == CV_32F || depth == CV_32S) in function 'cv::convexHull'

出错原因和分析

  • 刚开始查找网上的资料,有的说opencv版本不对,但是貌似并非这个原因
  • 后来发现问题的关键在于depth == CV_32F || depth == CV_32S这里出了错
  • 因此。解决方案是:
    对向minAreaRect传递的list里的每个数x,使用numpy.float32(x)转化,就可以完美解决这个问题了!

猜你喜欢

转载自blog.csdn.net/weixin_42886817/article/details/102668067