cv2.imshow(‘img’,img) TypeError: imshow() takes 0 positional arguments but 2 were given
时间: 2023-10-31 08:58:09 浏览: 222
这个错误通常是由于在调用cv2.imshow()函数时传递了无效的参数导致的。cv2.imshow()用于显示OpenCV中的图像,第一个参数是窗口名称,第二个参数是要显示的图像。您可以使用cv2.imread()函数加载图像,然后使用cv2.imshow()函数显示它。
出现TypeError: imshow() takes 0 positional arguments but 2 were given错误的原因可能是:
1. cv2.imshow()函数的第一个参数不是字符串类型的窗口名称。请确保第一个参数是字符串类型的窗口名称,例如'img'。
2. cv2.imshow()函数的第二个参数不是有效的图像。请确保您使用cv2.imread()函数正确加载了图像,并将其作为cv2.imshow()函数的第二个参数传递。
3. 您可能已经调用了cv2.imshow()函数的其他版本,例如matplotlib.pyplot.imshow()函数,而不是OpenCV的cv2.imshow()函数。请确保您正在使用OpenCV的cv2.imshow()函数。
请检查这些可能的原因并进行相应的更正。
相关问题
TypeError: imshow() takes 0 positional arguments but 2 were given
这个错误是由于imshow()函数传递的参数数量不正确导致的。imshow()函数是用于显示图像的函数,它需要至少一个参数,即要显示的图像。
通常情况下,imshow()函数的第一个参数是要显示的图像,第二个参数可以是一些可选的参数,例如cmap、norm等。如果您在调用imshow()函数时传递了多个参数,则会出现这个错误。
请确保您在调用imshow()函数时只传递了一个参数,即要显示的图像。如果您需要使用其他参数,请检查参数数量是否正确,并确保它们以正确的顺序传递给imshow()函数。
plt.imshow(img[:,:,::-1])
这行代码功能是将一张RGB图像转成BGR格式并进行显示。plt是matplotlib库中常用的绘图函数,imshow是图像显示函数,img是图像数据,在本行代码中,用img[:,:,::-1]的方式可以将RGB格式的图像数据转换成BGR格式。
阅读全文