【发布时间】:2020-10-26 15:13:41
【问题描述】:
我正在用 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) 来解决。但是,这对我不起作用。
如何解决这个问题?
【问题讨论】:
-
它需要一个可以读取的图像。
self.image的类型是什么? -
这是一个 Kivy 图像文件。
<kivy.uix.image.Image object at 0x7f28af9786d0> -
根据documentation,那不是图像,而是显示图像的小部件。
-
@NiklasMertsch Dammit,我完全忘记了它只是一个小部件而不是实际图像。
标签: python opencv-python