我有一个 3D numpy 数组,表示 3D 断层图像 I = [i,j,k]。
我开始学习 kivy,因为我需要做一个简单的 GUI,其中包含用于 3D (s = [i,:,:]) 图像的每个切片的 2D 图像查看器和用于跨平面移动的切片器。
我通常通过 matplotlib 执行所有可视化,我认为最简单的方法是将 matplotlib 连接到 kivy。我该怎么做? 我看到另一个问题提出了类似的问题,但仅限于绘图功能,并且该方法似乎不适用于 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,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51860032/