'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 个建议:
- 通过使用
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()
- 如果在放置
if
语句后出现同样的错误,您的 JPG 文件可能是 CMYK 格式。尝试打开一个 RGB 文件,看看是否出现同样的错误。
这是我的 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 个建议:
- 通过使用
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()
- 如果在放置
if
语句后出现同样的错误,您的 JPG 文件可能是 CMYK 格式。尝试打开一个 RGB 文件,看看是否出现同样的错误。