標(biāo)題: python上位機(jī)界面測(cè)試ESP32-CAM的幀率 [打印本頁(yè)]

作者: liguanghui    時(shí)間: 2024-3-19 14:02
標(biāo)題: python上位機(jī)界面測(cè)試ESP32-CAM的幀率
ESP32-CAM 使用 MicroPython 完成視頻網(wǎng)絡(luò)鏈接參考https://blog.csdn.net/weixin_43982855/article/details/121851251當(dāng)python端口接收到ESP32-CAM的數(shù)據(jù)后,開(kāi)始計(jì)算幀率,具體代碼如下:
import cv2
import io
from PIL import Image
import numpy  as np
import socket
from cv2 import getTickCount,getTickFrequency
import time

s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)
s.bind(("0.0.0.0",9090))# 綁定你電腦上的所有IP地址,如果電腦有多個(gè)IP地址,數(shù)據(jù)都接收
#######初始化幀率統(tǒng)計(jì)
frame_count=0
start_time=time.time()
# loop_start=getTickCount()
while True:
    data,IP=s.recvfrom(100000)
    #######統(tǒng)計(jì)幀率
    frame_count +=1
    elapsed_time=time.time()-start_time

    if elapsed_time>=1.0:  ###########當(dāng)測(cè)試的時(shí)間大于1S的時(shí)候
        fps=frame_count/elapsed_time   #########將接收的總幀數(shù)/1s左右的時(shí)間
        print(f"當(dāng)前幀率:{fps} fps")
        frame_count=0
        start_time=time.time()

    bytes_stream=io.BytesIO(data)
    image=Image.open(bytes_stream)
    img=np.asarray(image)

    cv2.imshow("esp_video",img)
    if cv2.waitKey(1)==ord("q"):
       break

作者: hxjlmhyt    時(shí)間: 2025-1-18 06:26
謝謝分享!
作者: lwglwglwglwglwg    時(shí)間: 2025-3-19 22:17
正好有個(gè)成品涉及這方面,感謝分享




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1