我有一个用单个数值构建的元组。
maxcontour = ( (minx,miny),(maxx,miny),(maxx,maxy),(minx,maxy) )而且确实是一个元组
print (maxcontour)((374,0),(2553,0),(2553,3999),(374,3999))
但在使用元组时,需要使用元组。
cv2.polylines(img, maxcontour, True, (0,0,255), 5 )我知道这个错误
错误: OpenCV(4.5.3) :-1:错误:(-5:错误参数)函数'polylines‘重载解析失败:
的数值
我显然忽略了一些非常基本的东西,但我看不出是什么;并且错误消息“预期的Ptrcv::UMat为论点'pts'”没有多大帮助。
创建对cv.polylines()有效的“数值元组”的方法是什么
发布于 2021-10-07 17:03:41
正如@Nathaniel Ford所说的那样,这些点需要是一个粗犷的数组。
绘制多边形,首先需要顶点的坐标。将这些点放入形状ROWSx1x2的数组中,其中行是顶点的数目,并且应该是int32类型。
所以
maxcontour = np.array( [[minx,miny],[maxx,miny],[maxx,maxy],[minx,maxy]],np.int32)
maxcontour = maxcontour.reshape((-1,1,2))
cv2.polylines(img, [maxcontour], True, (0,0,255))https://stackoverflow.com/questions/69485007
复制相似问题