在本地调试DBNet后处理函数时,代码跑到bounding_box = cv2.minAreaRect(contour)时报错,cv2.error: C:\projects\opencv-python\opencv\modules\imgproc\src\convhull.cpp:137: error: (-215) total >= 0 && (depth == 5 || depth == 4) in function cv::convexHull,打印了下输入发现本地contour内元素类型是numpy.int32,而服务器上是numpy.int64,加一行contour = contour.astype(np.int64)就不报错了。
而传入的contour是由pyclipper对原始的轮廓expand的结果,原始轮廓都是numpy.int32类型,expand的距离都是float类型,并且在linux服务器和本地windows上装的都是pyclipper 64位版,暂时还没找到原因。
参考