首頁 > 評測 > 【AT-START-F435測評】DVP+I2C 7725攝像頭+90640熱成像雙光融合

【AT-START-F435測評】DVP+I2C 7725攝像頭+90640熱成像雙光融合

  
  • 作者:
  • 來源:
  • [導(dǎo)讀]
  • 本帖最后由 goodjob 于 2023-1-7 16:16 編輯 拿到AT_START435開發(fā)板以后,先測試了硬件I2C讀取90640熱成像(見評測貼【AT-START-F435測評】硬件I2C讀取MLX90640熱成像https://bbs.21ic.com/icview-3276692-1-

本帖最后由 goodjob 于 2023-1-7 16:16 編輯

拿到AT_START435開發(fā)板以后,先測試了硬件I2C讀取90640熱成像(見評測貼【AT-START-F435測評】硬件I2C讀取MLX90640熱成像https://bbs.21ic.com/icview-3276692-1-1.html),F(xiàn)在接下來測試下DVP性能。
熱成像有一個缺點,在圖像中能看到熱源,但如果熱源周圍沒有特別的溫度標(biāo)志物的話,很難精確看出熱源的位置。所以使用一個可見光攝像頭獲取圖像,再和熱成像疊加,就能突出熱源位置,方便定位。此時AT32F435 DVP功能派上用場了,可以獲取攝像頭圖像,再和I2C獲取的熱成像數(shù)據(jù)進(jìn)行圖像疊加,一臺雙光融合熱成像儀就完成了。
我使用的是OV7725攝像頭,輸出為640x480,顯示屏是ST7789的,分辨率320*240,直接使用大SRAM雙幀緩沖,320*240*2一幀,雙幀正好300K。剩下的212K用于緩沖32*24的熱成像數(shù)據(jù)和圖像放大計算綽綽有余。得益于288MHz的高主頻,在進(jìn)行8倍圖像線性放大和雙光融合圖像計算以后,仍可實現(xiàn)較高的幀率。
由于測試板的攝像頭和熱成像傳感器位置錯開了,成像疊加有較大位差,只做示意。實際使用中,可以通過修改DVP截取窗口的位置來進(jìn)行校正。



AT32的DVP例程很詳細(xì),稍微修改直接可用。
這里贊一下DVP的圖像截取功能,可以從收到的攝像頭圖像中直接截取指定大小的圖像,非常方便:

  1. //DVP圖像截取
  2. dvp_window_crop_enable(TRUE);
  3. dvp_window_crop_set(100, 100, 320, 240, 2);
復(fù)制代碼

OV7725使用的正點原子的驅(qū)動,直接改IO軟件驅(qū)動SCCB。


先初始化和配置OV7725,然后配置DVP。此處使用了DMA雙幀緩沖。官方的驅(qū)動代碼很方便,如果不想使用雙幀,直接把第二項(uint32_t)&GRAM[1][0][0]改成0即可。

  1. dvp_dma_init((uint32_t)&GRAM[0][0][0],(uint32_t)&GRAM[1][0][0], 38400);
  2.  
復(fù)制代碼

 

  1. void DVP_run(void)
  2. {
  3.         if(OV7725_Init()!=0)return;
  4.         
  5.         //注意VGA輸出模式需要配合DVP的裁剪功能!在dvp_config()中
  6. OV7725_Window_Set(640,480,1);//VGA模式輸出
  7.         
  8.         
  9.         //OV7725_Window_Set(320,240,0);//QVGA模式輸出        
  10.         OV7725_Contrast(0);//-4到+4
  11.         
  12.         //OV7725功能設(shè)置
  13. //白平衡設(shè)置
  14. //0:自動模式
  15. //1:晴天
  16. //2,多云
  17. //3,辦公室
  18. //4,家里
  19. //5,夜晚
  20.         OV7725_Light_Mode(0);
  21.         
  22.         OV7725_Brightness(0);//亮度-4到+4
  23.         
  24.         //特效設(shè)置
  25. //0:普通模式   
  26. //1,負(fù)片
  27. //2,黑白   
  28. //3,偏紅色
  29. //4,偏綠色
  30. //5,偏藍(lán)色
  31. //6,復(fù)古            
  32. OV7725_Special_Effects(0);
  33.         
  34.         
  35.   dvp_config();
  36.  
  37.   dvp_dma_init((uint32_t)&GRAM[0][0][0],(uint32_t)&GRAM[1][0][0], 38400);
  38.  
  39.   delay_ms(100);
  40.  
  41.   dvp_start();
  42. }
復(fù)制代碼

因圖像算法涉及本人項目,分享的代碼中不含相關(guān)內(nèi)容,僅提供OV7725及DVP初始化相關(guān)代碼。需要按下圖將官方庫文件放到一起才能使用。


AT_START_435_NOUI_7725.rar (9.64 MB)

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項目外包 more+