imshow() takes 1 positional argument but 2 were given
时间: 2023-12-05 12:37:09 浏览: 141
这个错误通常是因为 `imshow()` 函数的参数传递有误,导致传递了多余的参数。`imshow()` 函数是 Matplotlib 库中用于显示图像的函数,它只需要一个参数,即要显示的图像数组。如果你传递了多余的参数,就会出现这个错误。
你可以检查一下你的代码,看看是否在调用 `imshow()` 函数时传递了多余的参数。如果有多余的参数,可以将其删除或者修改为正确的参数。
相关问题
TypeError: imread() takes 1 positional argument but 2 were given
这个错误通常是因为 `imread` 函数的参数传递有误导致的。`imread` 函数的第一个参数是要读取的图像文件名或路径,第二个参数是一个可选的标志,用于指定读取图像的方式。如果给定了第二个参数,则应该使用关键字参数的形式传递,而不是位置参数。
以下是一个示例代码,展示了如何正确使用 `imread` 函数:
```python
import cv2
# 读取图像
img = cv2.imread('example.png', cv2.IMREAD_COLOR)
# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们使用 `imread` 函数读取名为 `example.png` 的图像文件,并使用 `cv2.IMREAD_COLOR` 标志指定要读取彩色图像。由于我们使用的是关键字参数的形式传递了第二个参数,因此不会出现参数数量不匹配的问题。
请注意,如果给定的图像文件不存在或路径不正确,则也会导致 `imread` 函数抛出类似的错误。因此,确保给定的文件名或路径是正确的,以避免这种错误的发生。
TypeError: imshow() takes 0 positional arguments but 2 were given
这个错误是由于imshow()函数传递的参数数量不正确导致的。imshow()函数是用于显示图像的函数,它需要至少一个参数,即要显示的图像。
通常情况下,imshow()函数的第一个参数是要显示的图像,第二个参数可以是一些可选的参数,例如cmap、norm等。如果您在调用imshow()函数时传递了多个参数,则会出现这个错误。
请确保您在调用imshow()函数时只传递了一个参数,即要显示的图像。如果您需要使用其他参数,请检查参数数量是否正确,并确保它们以正确的顺序传递给imshow()函数。
阅读全文