TypeError: FlannBasedMatcher() takes no arguments
时间: 2024-02-01 10:14:43 浏览: 52
这个错误可能是因为你在调用 `FlannBasedMatcher()` 时传入了参数。`FlannBasedMatcher()` 是一个无参构造函数,不能传入参数。
如果你想设置 FlannBasedMatcher 的参数,可以使用 `FlannBasedMatcher()` 返回的对象的方法进行设置。例如:
```python
flann = cv2.FlannBasedMatcher()
flann.setAlgorithm(cv2.FlannIndexParams(...))
```
其中,`setAlgorithm()` 方法可以设置 FlannBasedMatcher 使用的算法及其参数。具体参数可以参考 OpenCV 文档中对 `FlannIndexParams` 类的说明。
相关问题
TypeError: Geese() takes no arguments
在Python中,当我们创建一个类的实例时,如果该类没有定义`__init__()`方法或者`__init__()`方法只有一个`self`参数时,我们可以省略实例化时的参数。但是,如果我们在创建实例时传递了参数,而类的定义中没有相应的`__init__()`方法来接收这些参数,就会出现`TypeError: Geese() takes no arguments`的错误。
以下是一个示例代码,演示了出现该错误的情况:
```python
class Geese:
'''大雁类'''
pass
wildGoose = Geese(10) # 创建大雁类的实例,并传递参数
print(wildGoose)
```
运行上述代码会出现`TypeError: Geese() takes no arguments`的错误,因为`Geese`类没有定义`__init__()`方法来接收传递的参数。
TypeError: KafkaProducer() takes no arguments
TypeError: KafkaProducer() takes no arguments 这个错误通常出现在尝试创建KafkaProducer对象时,但没有提供所需的参数。`KafkaProducer`是Apache Kafka库中的一个生产者组件,用于向Kafka主题发送消息。它的构造函数需要一些初始化参数,比如bootstrap_servers(服务器列表)、key_serializer和value_serializer(消息的键值序列化器)等。
如果你看到这个错误,可能是你在创建producer实例时忘记传入必要的配置信息。解决办法是检查你的代码,确认是否正确地传递了参数,例如:
```python
from kafka import KafkaProducer
# 正确的方式
producer = KafkaProducer(bootstrap_servers='localhost:9092',
value_serializer=lambda v: json.dumps(v).encode('utf-8'))
```
这里假设`json.dumps()`是用来序列化的函数,你需要将其替换为你实际使用的序列化器。
阅读全文