我有一个3D numpy数组,表示3D断层图像I = [i,j,k]。

我开始学习kivy,因为我需要做一个简单的GUI,该GUI包含一个用于3D(s = [i,:,:])图像的每个切片的2D图像查看器以及一个在平面上移动的切片器。

我通常通过matplotlib执行所有可视化,我坚信最简单的方法是将matplotlib连接到kivy。我该怎么做?
我看到了另一个问题,它提出了类似的问题,但仅具有plot函数,该方法似乎不适用于imshow。 (How to get started/use matplotlib in kivy)。

有什么建议么?

谢谢,

最佳答案

有关详细信息,请参阅示例。



main.py

from kivy.garden.matplotlib.backend_kivyagg import FigureCanvasKivyAgg
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
import matplotlib.pyplot as plt
import matplotlib.image as mpimg


img = mpimg.imread('ac013.JPG')
lum_img = img[:, :, 0]
plt.imshow(lum_img, cmap="nipy_spectral")
plt.colorbar()


class TestApp(App):
    title = "Kivy Garden Matplolib & imshow()"

    def build(self):
        box = BoxLayout()
        box.add_widget(FigureCanvasKivyAgg(plt.gcf()))
        return box


if __name__ == "__main__":
    TestApp().run()


输出量

python - Matplotlib imshow和kivy-LMLPHP

关于python - Matplotlib imshow和kivy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51860032/

10-16 22:15