以下是我写的代码
import time
from media.sensor import Sensor
from media.display import Display
from media.media import MediaManager
===========================
参数定义
===========================
DISPLAY_WIDTH = 800
DISPLAY_HEIGHT = 480
CAM_CHN_ID = 0 # 使用单通道 RGB565
PIX_FMT = Sensor.RGB565
===========================
初始化顺序(关键)
===========================
1. 初始化 MediaManager
MediaManager.init()
2. 初始化摄像头
sensor0 = Sensor(id=0)
sensor0.reset()
强制设置为屏幕分辨率
sensor0.set_framesize(width=DISPLAY_WIDTH, height=DISPLAY_HEIGHT, chn=CAM_CHN_ID)
sensor0.set_pixformat(PIX_FMT, chn=CAM_CHN_ID)
可选:镜像/翻转
sensor0.set_hmirror(True)
sensor0.set_vflip(True)
3. 启动摄像头
sensor0.run()
4. 初始化显示屏
Display.init(Display.ST7701, width=DISPLAY_WIDTH, height=DISPLAY_HEIGHT, to_ide=True)
===========================
主循环:全屏显示摄像头
===========================
try:
while True:
拍摄一帧
img0 = sensor0.snapshot(chn=CAM_CHN_ID)
# 全屏显示
Display.show_image(img0, 0, 0)
# 延时,保证刷新稳定
time.sleep_ms(30)
except KeyboardInterrupt:
print(“程序结束”)
finally:
退出清理
Display.deinit()
sensor0.stop()
MediaManager.deinit()