opencv的使用体验真的很差,使用那么多年,遇到了各种不兼容性问题,今天由来一个
真的对opencv是又爱又恨
opencv-python==4.2+
这个是我的python代码
cv_kp2 = [cv2.KeyPoint(x=pt[0], y=pt[1], _size=1) for pt in kp2[kp_list]]
出现了以下报错
cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function 'KeyPoint'
> Overload resolution failed:
> - KeyPoint() missing required argument 'size' (pos 3)
这个问题是opencv的KeyPoint类出了问题
把上面的问题翻译成人话就是这玩意传进去的参数有问题,少了一个必须的size
参数
我的代码使用的是别人的,可能当时就是这么写的,我看了一下别人的KeyPoint类介绍,确实是用的是_size
参数名
只需要将_size
参数名改为size
参数名就行了
cv_kp2 = [cv2.KeyPoint(x=pt[0], y=pt[1], size=1) for pt in kp2[kp_list]]
真的受不了,一天天的各种兼容性问题