《海思VPSS — 將1920*1080圖像通過VPSS縮放旋轉成800*1280在LCD上顯示》


使用場景:

  海思3516想將VI進來的的1920*1080(橫屏)圖像,通過VPSS縮放和旋轉功能變成800*1280(豎屏)。

 

先說一下總結:

  采用的攝像頭是1920*1080。目的是在800*1280的LCD上顯示。

  因為攝像頭是橫屏,而LCD是豎屏。如果直接通過1920*1080先縮放成1280*800。再通過VPSS進行旋轉成800*1280到LCD進行顯示。

  在實驗中發現LCD顯示還是橫屏。

  但是把攝像頭物理旋轉90°。就可以實現LCD顯示豎屏。

有個問題:

  有可能會想,攝像頭物理旋轉90°。那我VPSS不旋轉不就行了。直接輸出1280*800。不就變成豎屏了嗎?

  實現發現:豎屏是豎屏了。但是圖像會拉升。因為1280*800的圖像在800*1280的LCD上顯示。必然會拉升。

 

實現方式:

  1.通過設置VPSS的通道屬性使VPSS直接輸出縮小后的圖片。

  

 

問題:

  在VO顯示直接藍屏。

  通過cat /dev/logmpp提示:提示input size(1920,1080) and output size(800,1280) out of zoom_ratio[1,16]

  

 

解決:

  首先一個問題。將1920*1080縮放成800*1280。這是縮小呢還是放大呢。

  所以應該是1920*1080先縮小成1280*800。也就是都是橫屏。再通過旋轉,變成800*1280。

  因此把上面代碼中的800和1280對調一下。再旋轉一下就行了。

 

  通過cat  /proc/umap/vpss可以看到

  

  

   

   vpss進來的是1920*1080。將通道屬性設置成1280*800就可以實現縮放。然后通過旋轉。最后的VPSS CHN OUTPUT RESOLUTION就可以看到VPSS實際的圖像輸出。

  

 

重點注意:

  通道縮放問題。3516的通道0只支持放大,其他通道只支持縮小。因此我們VPSS中要設置成通道1。

  

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM