我有如下代码,实现3个摄像头同时输出画面,但是IDE中运行后会卡退连接。

Viewed 158

代码如下:

import time, os, sys

from media.sensor import * #导入sensor模块,使用摄像头相关接口
from media.display import * #导入display模块,使用display相关接口
from media.media import * #导入media模块,使用meida相关接口

try:

    sensor0 = Sensor(id=0) #构建摄像头对象
    sensor0.reset() #复位和初始化摄像头
    sensor0.set_framesize(width = 960, height = 540) #设置帧大小FHD(1920x1080),默认通道0
    sensor0.set_pixformat(Sensor.RGB565) #设置输出图像格式,默认通道0
    
    sensor1 = Sensor(id=1) #构建摄像头对象
    sensor1.reset() #复位和初始化摄像头
    sensor1.set_framesize(width = 960, height = 540) #设置帧大小FHD(1920x1080),默认通道0
    sensor1.set_pixformat(Sensor.RGB565) #设置输出图像格式,默认通道0

    #使用IDE缓冲区输出图像,显示尺寸和sensor配置一致。
    Display.init(Display.LT9611, to_ide=True)
    sensor0.run() #启动sensor
    MediaManager.init() #初始化media资源管理器

    


    while True:
        os.exitpoint() #检测IDE中断
        ################
        ## 这里编写代码 ##
        ################
        img0 = sensor0.snapshot() #拍摄一张图
        img1 = sensor1.snapshot() #拍摄一张图

        Display.show_image(img0,0,0,layers=Display.LAYER_OSD0) #显示图片
        Display.show_image(img1,960,0,layers=Display.LAYER_OSD0) #显示图片

       


###################
# IDE中断释放资源代码
###################
except KeyboardInterrupt as e:
    print("user stop: ", e)
except BaseException as e:
    print(f"Exception {e}")
finally:
    # sensor stop run
    if isinstance(sensor0, Sensor):
        sensor0.stop()
    if isinstance(sensor1, Sensor):
        sensor1.stop()
    # deinit display
    Display.deinit()
    os.exitpoint(os.EXITPOINT_ENABLE_SLEEP)
    time.sleep_ms(100)
    # release media buffer
    MediaManager.deinit()
1 Answers

您好,可以debug一下,逐步的去掉while中的语句或者增加print查看是在哪一步出的问题。

调试成功了!下一步:我想将ide中有三个画面的图保存起来(右击鼠标就可以保存),但我想使用程序实现这个功能。单张图的save是成功的。三张图拼接起来的一张图如何用程序保存?