|
ESP32-CAM 使用 MicroPython 完成視頻網(wǎng)絡(luò)鏈接參考https://blog.csdn.net/weixin_43982855/article/details/121851251當(dāng)python端口接收到ESP32-CAM的數(shù)據(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地址,如果電腦有多個IP地址,數(shù)據(jù)都接收
#######初始化幀率統(tǒng)計
frame_count=0
start_time=time.time()
# loop_start=getTickCount()
while True:
data,IP=s.recvfrom(100000)
#######統(tǒng)計幀率
frame_count +=1
elapsed_time=time.time()-start_time
if elapsed_time>=1.0: ###########當(dāng)測試的時間大于1S的時候
fps=frame_count/elapsed_time #########將接收的總幀數(shù)/1s左右的時間
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
|
|