'cvGetMat' 中不支持的数组类型 - Raspberry Pi

Unsupported Array Type in 'cvGetMat' - Raspberry Pi

这是我的 Python 代码:

import cv2
img = cv2.imread('./images/image.jpg')
cv2.imshow('Input image', img)
cv2.waitKey()

当我运行下面的代码时,我得到这个错误:

Traceback (most recent call last):
File "/home/pi/Desktop/sample.py", line 3, in <module>
cv2.imshow('Input image', img)
cv2.error: OpenCV(4.5.3) /tmp/pip-wheel-pd499c9i/opencv- 
python_3a15e83eee864e65b7311a199a94e9f1/opencv/modules/core/src/array.cpp:2494: error: 
(-206:Bad flag (parameter or structure field)) Unrecognized or unsupported array type in 
function 'cvGetMat'

有人说可能是目录不对,我查了一下目录,一切正常。我什至安装了 Numpy(版本 - 1.21.2)。

谁能帮帮我?提前致谢

这里有 2 个建议:

  1. 通过使用 os.path.exists() 方法来确保您的路径正确,而不仅仅是检查:
import cv2
import os

path = './images/image.jpg'
if os.path.exists(path):
    img = cv2.imread(path)
    cv2.imshow('Input image', img)
    cv2.waitKey()
  1. 如果在放置 if 语句后出现同样的错误,您的 JPG 文件可能是 CMYK 格式。尝试打开一个 RGB 文件,看看是否出现同样的错误。