传入参数错误cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘KeyPoint‘ >

项目场景:

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]]

真的受不了,一天天的各种兼容性问题

你可能感兴趣的:(opencv,python,opencv,计算机视觉)