cv2.error: OpenCV(3.4.14) :-1: error: (-5:Bad argument) in function 'circle' > Overload resolution failed: > - Argument 'radius' is required to be an integer > - Argument 'radius' is required to be an integer
问题描述:在opencv编程,画出圆形时报错,代码为
cv2.circle(image, (x + w/2, y + w/2), w/2, (152, 251, 152), 1) # 画圆形
上述代码块中w/2为半径
原因:整数除以2可能会存在有小数点的情况,半个像素无法处理,必须将r转化成整数int型。
解决方案:
将w/2变为整型::
r = math.ceil(w/2)
代码意义:Math.ceil() “向上取整”, 即小数部分直接舍去,并向正数部分进1
案例: math.ceil(3.1415926)后结果为4
提示:需要
import math



