首页 > 评测 > 【AT-START-F435测评】DVP+I2C 7725摄像头+90640热成像双光融合
【AT-START-F435测评】DVP+I2C 7725摄像头+90640热成像双光融合
- [导读]
- 本帖最后由 goodjob 于 2023-1-7 16:16 编辑 拿到AT_START435开发板以后,先测试了硬件I2C读取90640热成像(见评测贴【AT-START-F435测评】硬件I2C读取MLX90640热成像https://bbs.21ic.com/icview-3276692-1-
本帖最后由 goodjob 于 2023-1-7 16:16 编辑
拿到AT_START435开发板以后,先测试了硬件I2C读取90640热成像(见评测贴【AT-START-F435测评】硬件I2C读取MLX90640热成像https://bbs.21ic.com/icview-3276692-1-1.html)。现在接下来测试下DVP性能。
热成像有一个缺点,在图像中能看到热源,但如果热源周围没有特别的温度标志物的话,很难精确看出热源的位置。所以使用一个可见光摄像头获取图像,再和热成像叠加,就能突出热源位置,方便定位。此时AT32F435 DVP功能派上用场了,可以获取摄像头图像,再和I2C获取的热成像数据进行图像叠加,一台双光融合热成像仪就完成了。
我使用的是OV7725摄像头,输出为640x480,显示屏是ST7789的,分辨率320*240,直接使用大SRAM双帧缓冲,320*240*2一帧,双帧正好300K。剩下的212K用于缓冲32*24的热成像数据和图像放大计算绰绰有余。得益于288MHz的高主频,在进行8倍图像线性放大和双光融合图像计算以后,仍可实现较高的帧率。
由于测试板的摄像头和热成像传感器位置错开了,成像叠加有较大位差,只做示意。实际使用中,可以通过修改DVP截取窗口的位置来进行校正。
AT32的DVP例程很详细,稍微修改直接可用。
这里赞一下DVP的图像截取功能,可以从收到的摄像头图像中直接截取指定大小的图像,非常方便:
- //DVP图像截取
- dvp_window_crop_enable(TRUE);
- dvp_window_crop_set(100, 100, 320, 240, 2);
OV7725使用的正点原子的驱动,直接改IO软件驱动SCCB。
先初始化和配置OV7725,然后配置DVP。此处使用了DMA双帧缓冲。官方的驱动代码很方便,如果不想使用双帧,直接把第二项(uint32_t)&GRAM[1][0][0]改成0即可。
- dvp_dma_init((uint32_t)&GRAM[0][0][0],(uint32_t)&GRAM[1][0][0], 38400);
- void DVP_run(void)
- {
- if(OV7725_Init()!=0)return;
- //注意VGA输出模式需要配合DVP的裁剪功能!在dvp_config()中
- OV7725_Window_Set(640,480,1);//VGA模式输出
- //OV7725_Window_Set(320,240,0);//QVGA模式输出
- OV7725_Contrast(0);//-4到+4
- //OV7725功能设置
- //白平衡设置
- //0:自动模式
- //1:晴天
- //2,多云
- //3,办公室
- //4,家里
- //5,夜晚
- OV7725_Light_Mode(0);
- OV7725_Brightness(0);//亮度-4到+4
- //特效设置
- //0:普通模式
- //1,负片
- //2,黑白
- //3,偏红色
- //4,偏绿色
- //5,偏蓝色
- //6,复古
- OV7725_Special_Effects(0);
- dvp_config();
- dvp_dma_init((uint32_t)&GRAM[0][0][0],(uint32_t)&GRAM[1][0][0], 38400);
- delay_ms(100);
- dvp_start();
- }
因图像算法涉及本人项目,分享的代码中不含相关内容,仅提供OV7725及DVP初始化相关代码。需要按下图将官方库文件放到一起才能使用。
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
RAK831 Lite:基于树莓派3的LoRa网关... 2022-06-17
-
Imagination推出PowerVR AX2185和AX2145神经... 2022-06-17
-
ODROID-GO是一款兼容Arduino的基于ESP32的便... 2022-06-17
- PID温度控制器
预算:¥700004天前
- 摄像头的可视画面需要一直超上(linux系统,ARM)
预算:¥100001天前
- DICOM协议搭建(ARM架构,linux系统)
预算:¥100001天前
- 需MIPI摄像头隔离电路,实现3-4米能长距离
预算:¥100001天前
- 膨宫仪的控制板,控制流量和检测压力
预算:¥1000022小时前
- 无创自动测量血压计 NIBP模块
预算:¥100001天前