精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

8. 100ASK_V853-PRO開發板支持MPP媒體處理平臺

嵌入式Linux那些事 ? 來源:嵌入式Linux那些事 ? 作者:嵌入式Linux那些事 ? 2023-05-12 10:31 ? 次閱讀

0.前言

? MPP 系統控制模塊,根據芯片特性,完成硬件各個部件的復位、基本初始化工作,同時負責完成 MPP(Media Process Platform 媒體處理平臺)系統各個業務模塊的初始化、去初始化以及管理 MPP 系統各個業務模塊的工作狀態、提供當前 MPP 系統的版本信息等功能。 應用程序啟動 MPP 業務前,必須完成 MPP 系統初始化工作。同理,應用程序退出 MPP 業務后,也要完成 MPP 系統去初始化工作,釋放資源。

? 本章主要講述如何在Tina SDK中增加MPP補丁包和如何編譯使用,該補丁包含有MPP部分的源碼。具體MPP如何開發可以參考位于百度網盤中的100ASK_V853-PRO開發板的資料光盤中01_學習手冊/《100ASK-V853_Pro系統開發手冊》,該手冊中的第四篇 基礎組件開發中的第七章 Tina Linux 多媒體MPP 開發指南,此章節詳細說明了100ASK_V853-PRO開發板針對MPP 系統控制模塊的開發指導。

100ASK_V853-PRO開發板的資料光盤:

鏈接:https://pan.baidu.com/s/1TX742vfEde9bMLd9IrwwqA?pwd=sp6a
提取碼:sp6a

全志MPP_sample_使用說明:https://tina.100ask.net/SdkModule/Linux_MPP_Sample_Instructions-01/

100ASK_V853-PRO開發板資料匯總:

鏈接:100ASK_100ASK-PRO 資料匯總 - Allwinner / V853-Pro - 嵌入式開發問答社區

100ASK_V853-PRO開發板購買鏈接:100ASK_V853-PRO開發板

pYYBAGRdo4yAf_iVAASQ3zSjFR0352.png

1.增加MPP擴展包

MPP擴展包:

下載完成后,將sunxi-mpp.tar.gz壓縮包放入虛擬機的任意目錄,假設放在/home/book/workspaces目錄下,

例如:

ook@100ask:~/workspaces$ ls
100ASK_V853-PRO_TinaSDK  sunxi-mpp.tar.gz  tina-v853-open

解壓sunxi-mpp.tar.gz壓縮包,輸入

tar -xzvf sunxi-mpp.tar.gz 

例如:

book@100ask:~/workspaces$ tar -xzvf sunxi-mpp.tar.gz 
sunxi-mpp/
sunxi-mpp/CMake/
sunxi-mpp/CMake/sunxi_mpp_lib.cmake
sunxi-mpp/CMake/sunxi_mpp_include.cmake
...

等待解壓完成后進入sunxi-mpp目錄下,即可查看當前目錄下的文件

book@100ask:~/workspaces$ cd sunxi-mpp/
book@100ask:~/workspaces/sunxi-mpp$ ls
CMake  CMakeLists.txt  include  lib  README.md  sample  STAGING_DIR.sh  toolchain

下面對各文件夾進行說明

CMake:設置mpp各文件的頭文件和依賴目錄
CMakeLists.txt:設置編譯文件、交叉編譯工具鏈位置、依賴等位置和規則信息
include:包含MPP擴展包所需的頭文件
lib:包含MPP擴展包所需的依賴文件
sample:包含MPP個應用示例源碼
STAGING_DIR.sh:設置環境變量
toolchain:包含V853交叉編譯工具鏈

2.編譯MPP擴展包

添加交叉編譯環境變量,這里僅需要增加sunxi-mpp的位置的環境變量,輸入

book@100ask:~/workspaces/sunxi-mpp$ export CMAKE_CURRENT_SOURCE_DIR=~/workspaces/sunxi-mpp

激活環境變量,輸入

book@100ask:~/workspaces/sunxi-mpp$ source STAGING_DIR.sh

創建build目錄,用于編譯和存儲編譯后的應用程序

book@100ask:~/workspaces/sunxi-mpp$ mkdir build

進入build目錄下,執行cmake .. ,配置工具鏈、暫存目錄和編譯規則

book@100ask:~/workspaces/sunxi-mpp$ cd build/
book@100ask:~/workspaces/sunxi-mpp/build$ cmake ..
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- STAGING_DIR: build
-- Configuring done
-- Generating done
-- Build files have been written to: /home/book/workspaces/sunxi-mpp/build

執行完成后會在build目錄下生成以下文件,其中bin目錄用于存儲生成后的二進制應用程序。

book@100ask:~/workspaces/sunxi-mpp/build$ ls
bin  CMakeCache.txt  CMakeFiles  cmake_install.cmake  Makefile  sample  STAGING_DIR.sh

編譯mpp應用程序,輸入

book@100ask:~/workspaces/sunxi-mpp/build$ make
Scanning dependencies of target sample_virvi2vo
[  1%] Building C object sample/sample_virvi2vo/CMakeFiles/sample_virvi2vo.dir/sample_virvi2vo.c.o
[  2%] Linking C executable ../../bin/sample_virvi2vo
[  2%] Built target sample_virvi2vo
...
Scanning dependencies of target sample_demux2adec2ao
[ 99%] Building C object sample/sample_demux2adec2ao/CMakeFiles/sample_demux2adec2ao.dir/sample_demux2adec2ao.c.o
[100%] Linking C executable ../../bin/sample_demux2adec2ao
[100%] Built target sample_demux2adec2ao

編譯完成后可以進入bin目錄下查看編譯生成的二進制文件。

book@100ask:~/workspaces/sunxi-mpp/build$ cd bin/
book@100ask:~/workspaces/sunxi-mpp/build/bin$ ls
sample_adec               sample_CodecParallel         sample_MotionDetect         sample_uvc2vo        sample_virvi2venc
sample_aec                sample_demux2adec            sample_multi_vi2venc2muxer  sample_uvcout        sample_virvi2venc2muxer
sample_aenc               sample_demux2adec2ao         sample_rtsp                 sample_uvc_vo        sample_virvi2vo
sample_ai                 sample_demux2vdec            sample_smartIPC_demo        sample_venc          sample_virvi2vo_zoom
sample_ai2aenc            sample_demux2vdec2vo         sample_smartPreview_demo    sample_venc2muxer    sample_vo
sample_ai2aenc2muxer      sample_demux2vdec_saveFrame  sample_timelapse            sample_vi_g2d        yuv420pTobmp
sample_ao                 sample_driverVipp            sample_UILayer              sample_vin_isp_test
sample_ao_resample_mixer  sample_g2d                   sample_uvc2vdec_vo          sample_vi_reset
sample_aoSync             sample_glog                  sample_uvc2vdenc2vo         sample_virvi

關于如何測試使用MPP應用程序,請一定要參考:

全志MPP_sample_使用說明:https://tina.100ask.net/SdkModule/Linux_MPP_Sample_Instructions-01/

如果《全志MPP_sample_使用說明》中沒有測試說明,可查看每個示例程序中的Readme.txt。例如,假設我需要sample_driverVipp程序,需要進入該源碼目錄下,輸入

book@100ask:~/workspaces/sunxi-mpp$ cd sample/sample_driverVipp/
book@100ask:~/workspaces/sunxi-mpp/sample/sample_driverVipp$ ls
CMakeLists.txt  Readme.txt  sample_driverVipp.c  sample_driverVipp.h

可以看到源碼目錄中有一個Readme.txt文件,該文件詳細說明了如何進行測試。

book@100ask:~/workspaces/sunxi-mpp/sample/sample_driverVipp$ cat Readme.txt 
sample_driverVipp:
    該sample演示直接調用linux內核驅動獲取frame。按下ctrl+c,終止測試。
    每隔若干幀保存一幀到指定的目錄。

讀取測試參數的流程:
    sample只支持命令行模式輸入參數。如果不輸入參數,會提示輸入。
    從命令行啟動sample_driverVipp的指令:
    ./sample_driverVipp
    或
    ./sample_driverVipp 0 1920 1080 8 60 0 10 60 /mnt/extsd

測試參數的說明:
(1)video device: 0~3 (vipp0~vipp3)
(2)capture_width:指定camera采集的圖像寬度
(3)capture_height:指定camera采集的圖像高度
(4)pixel_format:指定camera采集的圖像格式
(5)fps:指定camera采集的幀率
(6)test frame count:指定測試采集的frame總數,0表示無限。
(7)store count: 指定保存的圖像數量。
(8)store interval: 指定保存圖像的周期,即每n幀圖像保存1幀。
(9)frame saving path: 指定保存圖像的目錄,該目錄要確保存在。

? 如果您想使用MPP進行開發,編寫自己的應用程序,請閱讀位于百度網盤資料中的100ASK_V853-PRO開發板的資料光盤中01_學習手冊/《100ASK-V853_Pro系統開發手冊》,該手冊中的第四篇 基礎組件開發中的第七章 Tina Linux 多媒體MPP 開發指南,此章節詳細說明了100ASK_V853-PRO開發板針對MPP 系統控制模塊的開發指導。

3.測試MPP應用程序

測試MPP應用程序需要增加開發板的依賴文件,該依賴文件位于sunxi-mpp/lib目錄下,如下圖所示

pYYBAGRdpOCAQpuCAADQyJW0AIM071.png

將該目錄下的全部文件拷貝到開發板的lib目錄下,假設我使用TF卡將其拷貝到開發板上,將lib文件夾拷貝到TF卡中,在將TF插入100ASK_V853-PRO開發板上,掛載TF卡,輸入

root@TinaLinux:/# mount /dev/mmcblk1p1 /mnt/extsd/

掛載完成后進入TF目錄下

root@TinaLinux:/# cd /mnt/extsd/
root@TinaLinux:/mnt/extsd# ls
System Volume Information        lib

可以看到lib文件夾,將lib目錄下的全部文件拷貝到開發板的lib目錄下,輸入

root@TinaLinux:/mnt/extsd# cp lib/* /lib/

等待拷貝完成即可。

3.1 測試LCD上實時預覽攝像頭數據應用程序

? 硬件要求:100ASK_V853-PRO開發板、4寸MIPI顯示屏、MIPI攝像頭。

? 示例名稱為:sample_virvi2vo

? 源碼路徑:sunxi-mpp/sample/sample_virvi2vo/

? 該示例演示了通過攝像頭獲取數據并實時顯示在LCD屏幕上,下面演示如何將編譯好的應用程序在100ASK_V853-PRO開發板上運行。

? 編譯mpp擴展包后,會在sunxi-mpp/build/bin目錄下生成sample_virvi2vo文件,將生成的文件拷貝到TF卡上備用。

? 將sunxi-mpp/sample/sample_virvi2vo目錄下的sample_virvi2vo.conf拷貝到TF卡下備用。

? 將sunxi-mpp/lib整個目錄拷貝到TF卡備用。

拷貝完成后,將TF卡插入100ASK_V853-PRO開發板后,將TF卡掛載到開發板上,輸入mount /dev/mmcblk1p1 /mnt/extsd/

root@TinaLinux:/# mount /dev/mmcblk1p1 /mnt/extsd/
[  168.601231] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

進入掛載目錄/mnt/extsd/

root@TinaLinux:/# cd /mnt/extsd/

查看對應文件是否存在

root@TinaLinux:/mnt/extsd# ls
System Volume Information  sample_virvi2vo
sample_virvi2vo.conf

運行測試程序,輸入./sample_virvi2vo -path ./sample_virvi2vo.conf

 root@TinaLinux:/mnt/extsd# ./sample_virvi2vo -path ./sample_virvi2vo.conf

執行完后,會在MIPI屏上實時顯示攝像頭獲取的圖像數據。

應用程序執行設定時間后會自動結束,也可以通過按下Crtl+C提前結束測試。

3.2 測試實時預覽人臉識別和人形識別應用程序

? 硬件要求:100ASK_V853-PRO開發板、4寸MIPI顯示屏、MIPI攝像頭。

? 示例名稱為:sample_smartPreview_demo

? 源碼路徑:sunxi-mpp/sample/sample_smartPreview_demo

? 該示例演示了通過攝像頭獲取圖像數據后使用人臉模型或人形模型進行處理后,將打框后的結果實時顯示在LCD屏幕上,下面演示如何將編譯好的應用程序在100ASK_V853-PRO開發板上運行。

? 編譯mpp擴展包后,會在sunxi-mpp/build/bin目錄下生成sample_smartPreview_demo文件,將生成的文件拷貝到TF卡上備用。

? 將sunxi-mpp/sample/sample_smartPreview_demo/models/fdet目錄下的face.nb人臉模型拷貝到TF卡中備用。

? 將sunxi-mpp/sample/sample_smartPreview_demo/models/pdet目錄下的2.0.0_Gamma.nb人形模型文件拷貝到TF卡中備用。

? 將sunxi-mpp/sample/sample_smartPreview_demo目錄下的sample_smartPreview_demo.conf參數文件拷貝到TF卡中備用。

拷貝完成后,將TF卡插入100ASK_V853-PRO開發板后,將TF卡掛載到開發板上,輸入mount /dev/mmcblk1p1 /mnt/extsd/

root@TinaLinux:/# mount /dev/mmcblk1p1 /mnt/extsd/
[  168.601231] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

進入掛載目錄/mnt/extsd/

root@TinaLinux:/# cd /mnt/extsd/

查看對應文件是否存在

root@TinaLinux:/mnt/extsd# ls
2.0.0_Gamma.nb                   sample_smartPreview_demo
System Volume Information        sample_smartPreview_demo.conf
face.nb

修改sample_smartPreview_demo.conf文件,假設我這里使用的是百問網的4寸MIPI屏和2Line MIPI攝像頭,需要測試的是人臉識別模型,需要修改該文件為:

########### paramter (ref to tulip_cedarx.conf)############
[parameter]
main_isp_dev = 0
main_vipp_dev = 0
main_capture_width = 360
main_capture_height = 640
main_layer_num = 0
main_display_x = 0
main_display_y = 0
main_display_width = 480
main_display_height = 800
main_nn_nbg_type = 1                    #-1:disable, 0:human, 1:face
main_nn_isp = 0
main_nn_vipp = 8
main_nn_vi_buf_num = 3
main_nn_src_frame_rate = 20             #fps
main_nn_nbg_file_path = "face.nb"
main_nn_draw_orl_enable = 1

sub_isp_dev = 1
sub_vipp_dev = 1
sub_capture_width = 1920
sub_capture_height = 1080
sub_layer_num = 1
sub_display_x = 0
sub_display_y = 00
sub_display_width = 480
sub_display_height = 800
sub_nn_nbg_type = 1                    #-1:disable, 0:human, 1:face
sub_nn_isp = 1
sub_nn_vipp = 9
sub_nn_vi_buf_num = 3
sub_nn_src_frame_rate = 20             #fps
sub_nn_nbg_file_path = "face.nb"
sub_nn_draw_orl_enable = 1

disp_type = "lcd"                      #disp_type is lcd, hdmi, cvbs
pic_format = "nv21"                    #pic_format is yu12, yv12, nv21, nv12
frame_rate = 20                        #fps

orl_thick=200
test_duration = 0                      #unit:s, 0:Infinite duration.

如果需要測試人形檢測,也需要修改sample_smartPreview_demo.conf文件中的,將main_nn_nbg_type設置為0、main_nn_nbg_file_path設置為人形模型的路徑名稱,例如:

main_nn_nbg_type = 1 
main_nn_nbg_file_path = "2.0.0_Gamma.nb"

運行測試程序:

root@TinaLinux:/mnt/extsd# ./sample_smartPreview_demo -path sample_smartPreview_demo.conf 

執行后,顯示屏端會接收攝像頭的數據,但一開始會丟棄部分圖像數據,可能會導致一開始的畫面卡頓。測試成功后會在顯示屏上實時顯示攝像頭的數據,并可以對攝像頭的圖像中的人臉進行打框。

4.總結

? 對于其他應用程序這里就不逐一去演示,大家可以參考每個示例的程序的Readme.txt或《全志MPP_sample_使用說明》進行測試體驗,參考《Tina Linux 多媒體MPP 開發指南》進行開發。MPP媒體處理平臺的可玩性和公開程度都適合大家去開發自己的應用程序,希望通過這章節可以讓大家了解MPP的使用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208940
  • AI
    AI
    +關注

    關注

    87

    文章

    30212

    瀏覽量

    268454
  • 媒體
    +關注

    關注

    1

    文章

    62

    瀏覽量

    14406
  • 開發板
    +關注

    關注

    25

    文章

    4954

    瀏覽量

    97212
  • MPP
    MPP
    +關注

    關注

    0

    文章

    24

    瀏覽量

    10582
收藏 人收藏

    評論

    相關推薦

    1.100ASK_V853-PRO 環境配置及編譯燒寫

    本章主要介紹關于100ASK_V853-PRO開發板的Tina SDK包的下載和編譯打包生成鏡像,并將鏡像燒錄到100ASK_V853-PRO開發板上。在進行
    的頭像 發表于 05-10 11:49 ?1424次閱讀
    1.100<b class='flag-5'>ASK_V853-PRO</b> 環境配置及編譯燒寫

    2.100ASK-V853-PRO開發板支持WIFI和有線網卡

    ? 通過上一章節,我們已經成功下載Tina SDK包,完成編譯并燒寫Tina Linux系統,接下來展示100ASK_V853-PRO開發部如何通過WIFI和有線網卡進行上網。
    的頭像 發表于 05-10 14:44 ?1315次閱讀
    2.100<b class='flag-5'>ASK-V853-PRO</b><b class='flag-5'>開發板</b><b class='flag-5'>支持</b>WIFI和有線網卡

    3.100ASK_V853-PRO開發板支持七寸RGB屏

    ? 在前面我們已經學習了關于100ASK_V853-PRO編譯和燒寫,接下來就是在Tina SDK下去適配七寸RGB屏。
    的頭像 發表于 05-10 15:26 ?1173次閱讀
    3.100<b class='flag-5'>ASK_V853-PRO</b><b class='flag-5'>開發板</b><b class='flag-5'>支持</b>七寸RGB屏

    5.100ASK_V853-PRO開發板支持按鍵輸入

    ? 100ASK_V853-PRO開發板上共有5個功能按鍵,本章節跟大家討論如何使能這五個按鍵。
    的頭像 發表于 05-11 10:02 ?1092次閱讀
    5.100<b class='flag-5'>ASK_V853-PRO</b><b class='flag-5'>開發板</b><b class='flag-5'>支持</b>按鍵輸入

    6.100ASK_V853-PRO開發板支持MIPI攝像頭

    ? 100ASK_V853-PRO開發板支持4LINE的MIPI攝像頭和2LINE的MIPI攝像頭,使用百問網提供的Tina SDK包生成的鏡像,系統已經配置好了,可以直接使用。本章介紹如何去適配一個MIPI攝像頭,本文所用的2
    的頭像 發表于 05-11 10:08 ?1533次閱讀
    6.100<b class='flag-5'>ASK_V853-PRO</b><b class='flag-5'>開發板</b><b class='flag-5'>支持</b>MIPI攝像頭

    9.100ASK_V853-PRO開發板支持E907小核開發

    ? 100ASK_V853-PRO開發板V853芯片集成Arm Cortex-A7和RISC-V E907 雙CPU,玄鐵E907 是一款完全可綜合的高端 MCU
    的頭像 發表于 05-12 10:35 ?1437次閱讀
    9.100<b class='flag-5'>ASK_V853-PRO</b><b class='flag-5'>開發板</b><b class='flag-5'>支持</b>E907小核<b class='flag-5'>開發</b>

    11. 100ASK-V853-PRO開發板 RGB屏測試指南

    固件位于資料光盤中的10_測試鏡像/1.測試七寸RGB屏/v853_linux_100ask_uart0.img
    的頭像 發表于 06-16 15:36 ?957次閱讀
    11. <b class='flag-5'>100ASK-V853-PRO</b><b class='flag-5'>開發板</b> RGB屏測試指南

    12. 100ASK-V853-PRO開發板 MIPI屏測試指南

    固件下載地址:鏈接:百度網盤 提取碼:sp6a 固件位于資料光盤中的10_測試鏡像/2.測試4寸MIPI屏/v853_linux_100ask_uart0.img
    的頭像 發表于 06-16 15:38 ?996次閱讀
    12. <b class='flag-5'>100ASK-V853-PRO</b><b class='flag-5'>開發板</b> MIPI屏測試指南

    瑞芯微媒體處理軟件平臺MPP開發參考

    瑞芯微提供的媒體處理軟件平臺(Media Process Platform,簡稱 MPP)是適用于瑞芯微芯片系列的通用媒體
    發表于 06-21 15:33

    【全志V853開發板試用】全志V853開發板試用測評報告

    SDQ8-SDQ16+SDQSN/P1+SDQM1 這樣可以方便內存的 PCB 布線。V853 芯片支持雙貼DRAM、同時也支持單帖雙RANK的DRAM,最大16Gb。5.
    發表于 08-29 02:09

    一鍵實現V853開發板攝像頭自由

    視頻中所實現的攝像頭UI控制效果,是通過在全志V853開發板上使用InoneGUI+mpp+Aiinone-IDE方案快速搭建而成的,該demo打通了UI界面與攝像頭的通路,可以通過UI控制攝像頭
    發表于 09-08 13:41

    【開源硬件大賽】基于全志V853設計的全功能BTB學習開發板

    100ask_V853-Pro開發簡述核心資源簡述BTB核心,板載EMMC DDR V853 主芯片 AXP電源芯片背面
    發表于 12-07 15:03

    100ASK_全志V853-PRO開發板 環境配置及編譯燒寫

    0.前言 本章主要介紹關于100ASK-V853-PRO開發板的Tina SDK包的下載和編譯打包生成鏡像,并將鏡像燒錄到100ASK-V853-PRO開發板上。在進行
    發表于 05-04 10:14

    100ASK_全志V853-PRO開發板支持人形檢測和人臉識別

    去修改增加。參考這個示例大家可以去自己嘗試獲取自定義的圖像進行人臉識別或人形檢測。 對于如何在100ASK_V853-PRO如何實時處理從攝像頭獲取的圖像進行人臉識別和人形檢測可在下節MPP中講述。
    發表于 05-10 10:13

    100ASK_V853-PRO開發板支持人形檢測與人臉檢測

    本文詳細描述了100ASK_V853-PRO開發板運行測試程序檢測人形和人臉的過程,輸出文件包含畫框圖像結果、執行性能、模型精確度。下面直接展示該應用程序處理的結果。
    的頭像 發表于 04-27 11:00 ?659次閱讀
    <b class='flag-5'>100ASK_V853-PRO</b><b class='flag-5'>開發板</b><b class='flag-5'>支持</b>人形檢測與人臉檢測