【问题标题】:Putting a label in front of an image在图像前放置标签
【发布时间】:2020-03-06 09:35:40
【问题描述】:

我有一个图像小部件,它从流中获取帧并打印帧并每秒更新 30 次。我想在它上面放置一个标签小部件作为一种覆盖来提供额外的信息(例如帧速率、分辨率等)。但我似乎无法成功在我的小部件上绘制标签。我该怎么做?

到目前为止我有:

.kv:

KivyCamera:
            stream: "rtsp://my-stream"
            Label:
                text: "Testing12345"
                pos: self.pos
                size: 320, 240

.py:

class KivyCamera(Image):

status = 0
frame = 0
stream = ObjectProperty()
fps = NumericProperty(25)

def __init__(self, **kwargs):
    super(KivyCamera, self).__init__(**kwargs)
    self._capture = None

def on_stream(self, *args):
    if self._capture is not None:
        self._capture.release()
    self._capture = cv2.VideoCapture(self.stream)
    self.thread = Thread(target=self.update, args=())
    self.thread.daemon = True
    self.thread.start()
    Clock.schedule_interval(self.show_frame, 1.0 / self.fps)

@property
def capture(self):
    return self._capture

def update(self):
    while True:
        if self.capture.isOpened():
            (self.status, self.frame) = self.capture.read()
        time.sleep(.01)

def show_frame(self, dt):
    if self.status:
        buf1 = cv2.flip(self.frame, 0)
        buf = buf1.tostring()
        image_texture = Texture.create(
            size=(self.frame.shape[1], self.frame.shape[0]), colorfmt="bgr"
        )
        image_texture.blit_buffer(buf, colorfmt="bgr", bufferfmt="ubyte")
        self.texture = image_texture

【问题讨论】:

    标签: python python-3.x user-interface kivy kivy-language


    【解决方案1】:

    只需将Label 添加为单独的Widget。比如:

    FloatLayout:
        KivyCamera:
            stream: "rtsp://my-stream"
        Label:
            id: extra_info
            text: 'Testing12345'
            size_hint: None, None
            size: self.texture_size
            pos_hint: {'center_x':0.5, 'center_y':0.5}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-25
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      相关资源
      最近更新 更多