TypeError: FlannBasedMatcher() takes no arguments
时间: 2024-02-03 09:12:21 浏览: 25
这个错误通常是因为使用了错误的参数或参数数量不正确导致的。请确保正确地导入了cv2和numpy库,并按照以下示例将FlannBasedMatcher应用于两个描述符:
```python
import cv2
import numpy as np
# 读取图像并提取特征描述符
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
sift = cv2.xfeatures2d.SIFT_create()
kp1, des1 = sift.detectAndCompute(img1, None)
kp2, des2 = sift.detectAndCompute(img2, None)
# 使用FlannBasedMatcher进行特征匹配
index_params = dict(algorithm=0, trees=5)
search_params = dict()
flann = cv2.FlannBasedMatcher(index_params, search_params)
matches = flann.knnMatch(des1, des2, k=2)
# 挑选最佳匹配
good_matches = []
for m, n in matches:
if m.distance < 0.7*n.distance:
good_matches.append(m)
```
如果还有问题,请提供更多上下文信息,以便我更好地帮助你。
相关问题
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: Bar() takes no arguments
TypeError: Bar() takes no arguments是一个类型错误,意味着你正在尝试向一个不接受参数的函数或方法传递参数。这个错误通常发生在以下情况下:
- 你调用了一个不接受参数的函数或方法,并且尝试传递参数给它。
- 你调用了一个函数或方法,但传递的参数与函数或方法的定义不匹配。
以下是两种可能导致TypeError: Bar() takes no arguments错误的情况以及解决方法:
1. 调用不接受参数的函数或方法时传递了参数[^1]:
```python
def foo():
print("Hello, world!")
foo("bar") # 错误的调用方式,传递了参数给不接受参数的函数foo
```
解决方法是确保你调用的函数或方法不接受参数,或者修改函数或方法的定义以接受参数。
2. 调用函数或方法时传递的参数与函数或方法的定义不匹配:
```python
class Bar:
def __init__(self):
pass
bar = Bar("Hello, world!") # 错误的调用方式,传递了参数给不接受参数的构造函数__init__
```
解决方法是确保你传递的参数与函数或方法的定义匹配,或者修改函数或方法的定义以接受相应的参数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)