图片格式错误?

问题描述

我正在使用OpenCV库拍照:

def display_frame(self,frame,dt):
        texture = Texture.create(size=(frame.shape[1],frame.shape[0]),colorfmt='bgr')
        texture.blit_buffer(frame.tobytes(order=None),colorfmt='bgr',bufferfmt='ubyte')
        texture.flip_vertical()
        self.image.texture = texture
        cv2.imwrite('/home/mark/frontend/picture_taken.jpg',self.image)
        cam.release()
        cv2.destroyAllWindows()

以上抛出:

cv2.imwrite('/home/mark/frontend/picture_taken.jpg',self.image)
 TypeError: Expected Ptr<cv::UMat> for argument 'img'

我不包括代码的所有部分,但是以上内容使您知道哪种类型 我试图在磁盘上写入的图像。在GitHub上,我发现当我们尝试编写以错误形式传递的图像时,通常会引发此错误。在某些情况下,这可以 可以在我写图像的行的正上方包括img = numpy.array(self.image)解决。但是,这对我不起作用。

该如何解决

解决方法

嗨,这只是一个猜测,但是根据我自己的经验,我认为您的图片变量是None类型。如果self.image有任何价值,您可以尝试打印吗?