【发布时间】:2019-04-05 00:45:08
【问题描述】:
我正在寻找一种方法来将 numpy 图像数组 指定为 Image 小部件的 source,而无需保存为“.png”或“.jpg”等文件。
我知道一种使用画布的方法(Texture.create(),blit_buffer(),Rectangle()).....还有其他方法吗?
import kivy
from kivy.app import App
from kivy.uix.image import Image
from kivy.uix.widget import Widget
import cv2
class Test(Widget):
img = cv2.imread('0.png', cv2.IMREAD_UNCHANGED)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img = cv2.flip(img, 0)
# Is it possible to specify cv2(numpy) image to 'Image Widget' directly(without saving as file(jpg,png))?
w_img = Image(source=img, size=(100, 100)) # >> error
self.add_widget(w_img)
class DemoApp(App):
def build(self):
return Test()
if __name__ == '__main__':
DemoApp().run()
【问题讨论】: