<bdo id='h8H1U'></bdo><ul id='h8H1U'></ul>
    1. <small id='h8H1U'></small><noframes id='h8H1U'>

      <i id='h8H1U'><tr id='h8H1U'><dt id='h8H1U'><q id='h8H1U'><span id='h8H1U'><b id='h8H1U'><form id='h8H1U'><ins id='h8H1U'></ins><ul id='h8H1U'></ul><sub id='h8H1U'></sub></form><legend id='h8H1U'></legend><bdo id='h8H1U'><pre id='h8H1U'><center id='h8H1U'></center></pre></bdo></b><th id='h8H1U'></th></span></q></dt></tr></i><div id='h8H1U'><tfoot id='h8H1U'></tfoot><dl id='h8H1U'><fieldset id='h8H1U'></fieldset></dl></div>
      <tfoot id='h8H1U'></tfoot>
    2. <legend id='h8H1U'><style id='h8H1U'><dir id='h8H1U'><q id='h8H1U'></q></dir></style></legend>

        在 Kivy 中显示 numpy/opencv/matplotlib 图像

        时间:2023-06-07
          • <bdo id='YZEOB'></bdo><ul id='YZEOB'></ul>
          • <i id='YZEOB'><tr id='YZEOB'><dt id='YZEOB'><q id='YZEOB'><span id='YZEOB'><b id='YZEOB'><form id='YZEOB'><ins id='YZEOB'></ins><ul id='YZEOB'></ul><sub id='YZEOB'></sub></form><legend id='YZEOB'></legend><bdo id='YZEOB'><pre id='YZEOB'><center id='YZEOB'></center></pre></bdo></b><th id='YZEOB'></th></span></q></dt></tr></i><div id='YZEOB'><tfoot id='YZEOB'></tfoot><dl id='YZEOB'><fieldset id='YZEOB'></fieldset></dl></div>
          • <tfoot id='YZEOB'></tfoot>

              <tbody id='YZEOB'></tbody>

              <small id='YZEOB'></small><noframes id='YZEOB'>

            • <legend id='YZEOB'><style id='YZEOB'><dir id='YZEOB'><q id='YZEOB'></q></dir></style></legend>

                • 本文介绍了在 Kivy 中显示 numpy/opencv/matplotlib 图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  如何在 Kivy 中以标准 numpy/opencv/matplotlib 格式显示图像?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.

                  以下代码完全正常.使用 cv2 VideoCapture 捕获图像.我认为图像是 BGR,数组维度是 (360, 480, 3):

                  The following code works totally fine. Image was captured using cv2 VideoCapture. I think image is BGR, array dimensions are (360, 480, 3):

                      ret, image = video_capture.read()
                      cv2.imshow('image', image)
                      cv2.waitKey()
                  

                  尝试使用以下代码显示它会产生混乱的结果:

                  Trying to display it with the following code produce messy results:

                      video_texture = Texture.create(size=image.shape[:2])
                      video_texture.blit_buffer(image.tostring(), colorfmt='rgb', bufferfmt='ubyte')
                  
                      # ...
                  
                      video_panel = self.ids['video_panel']
                      with video_panel.canvas:
                          Rectangle(texture=video_texture, pos=video_panel.pos, size=video_panel.size)
                  

                  推荐答案

                  找到了正确的转换.可能不是最理想的:

                  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')
                  

                  这篇关于在 Kivy 中显示 numpy/opencv/matplotlib 图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:问题将 Kivy 设置为全屏 下一篇:Kivy:如何通过 id 获取小部件(没有 kv)

                  相关文章

                    <bdo id='CPaRf'></bdo><ul id='CPaRf'></ul>
                    <legend id='CPaRf'><style id='CPaRf'><dir id='CPaRf'><q id='CPaRf'></q></dir></style></legend>

                      <tfoot id='CPaRf'></tfoot>
                    1. <small id='CPaRf'></small><noframes id='CPaRf'>

                    2. <i id='CPaRf'><tr id='CPaRf'><dt id='CPaRf'><q id='CPaRf'><span id='CPaRf'><b id='CPaRf'><form id='CPaRf'><ins id='CPaRf'></ins><ul id='CPaRf'></ul><sub id='CPaRf'></sub></form><legend id='CPaRf'></legend><bdo id='CPaRf'><pre id='CPaRf'><center id='CPaRf'></center></pre></bdo></b><th id='CPaRf'></th></span></q></dt></tr></i><div id='CPaRf'><tfoot id='CPaRf'></tfoot><dl id='CPaRf'><fieldset id='CPaRf'></fieldset></dl></div>