close

自訂義類別FramePacket:

為了方便了解每一frame是由哪一個攝影機編號或影片編號(source_id)所產生,

frame_index表示第幾張影格,frame為單張影像內容,ts:時間標籤(time-stamp)

__repr__ 顯示字串

import time
import numpy as np
class FramePacket:
    def __init__(self, source_id, frame_idex, frame, ts):
        self.source_id = source_id
        self.frame_index = frame_idex
        self.frame = frame
        self.ts = ts

    def __repr__(self):
        """__repr__ → nice string representation"""
        return f"FramePacket(source_id={self.source_id}, frame_index={self.frame_index}, ts={self.ts})"


if __name__ == "__main__":
    frame = np.zeros(shape=(10,10))
    pkt = FramePacket(0, 12, frame, time.time())
    print(pkt)
    time.sleep(0.03)
    pkt = FramePacket(0, 13, frame, time.time())
    print(pkt)

 執行結果:

FramePacket(source_id=0, frame_index=12, ts=1757214800.3257582)
FramePacket(source_id=0, frame_index=13, ts=1757214800.3566766)

 

 @dataclass裝飾子,可以省去上述的輸入引數與內部欄位的設定

It’s a decorator from Python’s dataclasses module (added in Python 3.7).

import time
import numpy as np
from dataclasses import dataclass
from typing import Optional, Any
@dataclass
class FramePacket:
    source_id: int
    frame_index: int
    frame: Optional[Any]
    ts: float

 執行結果:

FramePacket(source_id=0, frame_index=12, frame=array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), ts=1757216561.9831243)
FramePacket(source_id=0, frame_index=13, frame=array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]), ts=1757216562.0144765)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

全站熱搜
創作者介紹
創作者 me1237guy 的頭像
me1237guy

天天向上

me1237guy 發表在 痞客邦 留言(0) 人氣()