将numpy像素矩阵转换为OpenCv图像

时间:2019-06-02 17:31:18

标签: python opencv

我想将包含灰度图像的numpy数组(形状:48,48)转换为Cv Mat或Img对象。

我已经尝试过cv2.imdecode函数,但是它只返回了docs中所述的空矩阵,但是并没有告诉我为什么它不起作用。

    data = prep_data()

    img_raw = np.array(data[1][0])
    print(img_raw)
    img = cv2.imdecode(img_raw, cv2.CV_LOAD_IMAGE_COLOR)
    cv2.imshow('image',img)
    cv2.waitKey(0)

这是我得到的异常,但是我已经“发现”该异常是因为img obj为空。 例外: cv2.error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:325: error: (-215) size.width>0 && size.height>0 in function cv::imshow

1 个答案:

答案 0 :(得分:0)

在Python中,OpenCV图像是NumPy数组。 因此,这取决于您的 prep_data 函数返回的内容,但是您可能不需要调用 cv2.imdecode print(img_raw)在您的代码中返回什么?无论如何,请尝试直接显示img_raw:

data = prep_data()

img_raw = np.array(data[1][0])
cv2.imshow('image',img_raw)
cv2.waitKey(0)