Skip to content Skip to sidebar Skip to footer

Display Numpy/opencv/matplotlib Image In Kivy

How to display image in standard numpy/opencv/matplotlib format in Kivy? Kivy uses different image memory layout and I can't figure out which one. The following code works totally

Solution 1:

Found the right transformation. Probably suboptimal:

    ret, image = video_capture.read()
    image = np.rot90(np.swapaxes(image, 0, 1))
    video_texture = Texture.create(size=(image.shape[1], image.shape[0]), colorfmt='rgb')
    video_texture.blit_buffer(image.tostring(), colorfmt='bgr', bufferfmt='ubyte')

Solution 2:

I found that the rotation can also be done using the numpy function flipud(), not sure if it is actually faster (I'm not that experienced with python/numpy) but for some this might be more logical to read instead of the 90 degrees rotation and the swapaxes.


Post a Comment for "Display Numpy/opencv/matplotlib Image In Kivy"