opencv显示读取图片出错

Error in displaying and reading image in opencv

代码:

import numpy as np
import cv2

img = cv2.imread('/home/pi/Downloads/download.jpg',0)
cv2.imshow(img)

cv2.waitkey(0)
cv2.destroyAllWindows()

它抛出一个错误:

Traceback (most recent call last):
  File "/home/pi/Exp/opcv.py", line 5, in <module>
    cv2.imshow(img)
TypeError: Required argument 'mat' (pos 2) not found

只是尝试使用 opencv 和 python 打开图像。但它显示了那个时髦的错误。另外我对编程和 opencv 都很陌生。

谢谢

您需要在 cv2.imshow() 的第一个参数中传递一个 window 名称,例如 cv2.imshow('image',img)

OpenCV 的 cv2.imshow() 需要两个参数:

  1. 要显示的 window 的名称;
  2. 图像本身。

所以,你的错误 TypeError: Required argument 'mat' (pos 2) not found 是说缺少第二个参数,因为该函数将你的 img 变量解释为 window 名称。

除此之外,cv2.waitkey(0)也会报错,正确的函数名是cv2.waitKey(0)(K大写)。

所以正确的代码是:

import numpy as np
import cv2

img = cv2.imread('/home/pi/Downloads/download.jpg',0)
cv2.imshow('My window',img)

cv2.waitKey(0)
cv2.destroyAllWindows()