我运行下面这段代码,输出total took 20ms,是否意味着帧率为50?为什么我禁用/启用IDE的帧缓冲区或者Display的to_ide设为False或True对total took这个数据没有影响,一直是20左右?
代码如下:
# Camera 示例
import time
import os
import sys
from libs.PipeLine import PipeLine, ScopedTiming
from media.sensor import *
from media.display import *
from media.media import *
sensor = None
try:
print("camera_test")
# 根据默认配置构建 Sensor 对象
sensor = Sensor()
# 复位 sensor
sensor.reset()
# 设置通道 1 分辨率和格式
sensor.set_framesize(width=800, height=480)
sensor.set_pixformat(Sensor.RGB888)
# 初始化 HDMI 和 IDE 输出显示,若屏幕无法点亮,请参考 API 文档中的 K230_CanMV_Display 模块 API 手册进行配置
Display.init(Display.ST7701, to_ide=False)
# 初始化媒体管理器
MediaManager.init()
# 启动 sensor
sensor.run()
while True:
with ScopedTiming("total",1):
os.exitpoint()
img = sensor.snapshot()
Display.show_image(img)
except KeyboardInterrupt as e:
print("用户停止: ", e)
except BaseException as e:
print(f"异常: {e}")
finally:
# 停止 sensor
if isinstance(sensor, Sensor):
sensor.stop()
# 销毁显示
Display.deinit()
os.exitpoint(os.EXITPOINT_ENABLE_SLEEP)
time.sleep_ms(100)
# 释放媒体缓冲区
MediaManager.deinit()