CANN訓(xùn)練營進(jìn)階班應(yīng)用課筆記】在AI1S云服務(wù)器上體驗DVPP的JPEGD-RESIZE-JPEGE

      網(wǎng)友投稿 833 2022-05-29

      原文參見:https://bbs.huaweicloud.com/forum/thread-183329-1-1.html

      根據(jù)進(jìn)階班作業(yè)貼:https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=182679&fromuid=446160

      大作業(yè)1題目如下:開發(fā)DVPP應(yīng)用,輸入,輸出都是JPEG圖片,且分辨率不同。

      根據(jù)作業(yè)提示,轉(zhuǎn)換的思路如下:

      原始JPEG圖片-》JPEG解碼成YUV格式-》YUV圖片縮放-》YUV格式編碼成JPEG格式-》目的JPEG圖片。

      這些應(yīng)該使用dvpp技術(shù),在device端進(jìn)行轉(zhuǎn)換。其流程應(yīng)滿足dvpp的流程設(shè)計和編碼方式。

      下面看看如何實戰(zhàn)。

      (一)購買ECS AI1S服務(wù)器

      首先需要一臺Atlas310的推理服務(wù)器。

      這個時候可以利用昇騰小助手發(fā)的代金券,在華為云論壇,使用鏡像買一臺AI1S的服務(wù)器。

      我們看一下購買流程:

      打開 https://console.huaweicloud.com/console/?region=cn-north-4#/home

      點擊ECS-》鏡像服務(wù)-》共享鏡像:

      可以收到 本次訓(xùn)練營共享的鏡像 camp-course-2022-3

      點擊右邊的 申請服務(wù)器:

      分別選擇:

      按需計費,X86計算,AI加速型,ai1s.large.4(確認(rèn)是1個Ascend 310芯片),

      確認(rèn)共享鏡像是剛才的camp-course-2022-3(80GB)

      選擇最便宜的硬盤(高IO) 80GB。

      如果你選了別的型號的硬盤,下面的計費會有變化。反正選擇最便宜的就行了。

      點擊下一步,網(wǎng)絡(luò)配置:

      分別選擇:

      網(wǎng)絡(luò),自動分配

      安全組:Full Access

      彈性公網(wǎng):現(xiàn)在購買

      線路:全動態(tài)BGP

      按流量計費

      帶寬 5M

      隨實例釋放。

      隨時關(guān)注 下面的計費情況。

      點擊 下一步,高級配置

      輸入云服務(wù)器名稱,這里也可以不改,使用默認(rèn)的名稱

      輸入root密碼兩次。

      其他選擇缺省。

      點擊下一步,確認(rèn)配置。

      點擊同意協(xié)議前面的復(fù)選框,再次確認(rèn)下費用。點擊立即購買。

      因為這個時候如果購買成功就要開始算錢了。

      看到任務(wù)提交成功后,點擊 返回服務(wù)器列表按鈕

      耐心等待服務(wù)器創(chuàng)建完畢并啟動成功。

      這里有個IP地址,117開頭的那個(每個人不一樣),可以復(fù)制下來。

      這就完成了大作業(yè)所需的服務(wù)器的創(chuàng)建。

      (二)MobaXTerm連接服務(wù)器

      打開MobaXterm, 右鍵點擊 UserSession,點擊彈出的New Session

      點擊ssh:

      輸入剛才的IP地址,選中用戶root,點擊OK:

      輸入密碼,并在彈出的菜單鐘選擇記住OK,記住密碼,進(jìn)入ubuntu 18.04環(huán)境:

      (三)查看樣例代碼

      我們?nèi)N騰的samples代碼倉看看實例代碼。看看有沒有能完成這個任務(wù)的樣例。

      打開 https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/0_data_process

      我們發(fā)現(xiàn),把jpegd , resize , jpege 三個代碼組合起來,就能完成我們的目標(biāo)。

      所以應(yīng)該先把samples倉庫clone下來:

      git clone https://gitee.com/ascend/samples.git

      不過發(fā)現(xiàn) HwHiAiUser用戶下已經(jīng)有了samples代碼倉了。

      (四)實現(xiàn)JPEGD圖片解碼

      先進(jìn)入 jpegd目錄:

      cd /home/HwHiAiUser/samples/cplusplus/level2_simple_inference/0_data_process/jpegd

      根據(jù)README_CN.md進(jìn)行腳本編譯

      cd scripts

      bash sample_build.sh

      編譯成功。

      運行解碼:

      bash sample_run.sh

      然后可以在 out/output目錄下找到生成的YUV文件:

      dvpp_output.yuv

      此時,解碼完畢。

      原圖的文件名為 dog1_1024_683.dog

      我們來看看是否真的是那么大

      使用MobaXterm左邊框,將這個文件下載下來:

      方法就是找到這個文件,在這個文件上點右鍵,點Download

      在Windows下查看屬性:

      這個文件大小確實是1024X683.

      從dvpp解碼的要求來看,寬128對齊,高16對齊,1024是128的倍數(shù),683卻不是。所以寬應(yīng)該是擴(kuò)展到了 16的倍數(shù) 688. 所以原理上應(yīng)該是多了5個像素的綠邊。

      但是這個YUV文件好像不知道怎么看。

      (五)實現(xiàn)RESIZE圖片縮放

      那么。下面我們來考慮下,到底縮放到多大比較合適呢?

      先試試 變成 640 X 480 試試

      我們切換到 resize目錄

      cd

      /home/HwHiAiUser/samples/cplusplus/level2_simple_inference/0_data_process/resize

      先進(jìn)入scripts目錄編譯代碼:

      cd script

      bash sample_build.sh

      將前面生成的yuv文件移動到resize所需的圖片輸入目錄data:

      /home/HwHiAiUser/samples/cplusplus/level2_simple_inference/0_data_process/resize/data

      這里面原來有個圖片,可以將其移走。

      cd /home/HwHiAiUser/samples/cplusplus/level2_simple_inference/0_data_process/jpegd/out/output

      cp dvpp_output.yuv /home/HwHiAiUser/samples/cplusplus/level2_simple_inference/0_data_process/resize/data/

      根據(jù)sample_run的代碼,換成前面圖片的路徑,分辨率也改成 640X480

      然后運行:

      生成好的文件放在了output目錄下:

      這就完成了圖片縮放。

      (六)實現(xiàn)JPEGE圖片編碼

      最后一步,我們來試試將縮放后的YUV文件編碼成JPG圖片。

      進(jìn)入jpege目錄:

      照例編譯代碼:

      cd script

      bash sample_build.sh

      同樣的,將原data目錄下的yuv文件移走:

      mv dvpp_output.yuv ..

      再把剛才resize/out/output目錄下生成好的yuv文件拷貝過來:

      cp ../../resize/out/output/dvpp_output_after_resize.yuv .

      再看看試試能否運行:

      哎,它需要的輸入文件是 dvpp_output.yuv文件。

      我們看看代碼:

      打開 ~/samples/cplusplus/level2_simple_inference/0_data_process/jpege/src/main.cpp

      原來這里寫死了輸入的文件名。

      那就改一下吧。

      來,重新編譯:bash sample_build.sh

      再重新執(zhí)行:bash sample_run.sh

      去output目錄看看:

      同樣的方法將這個文件下載下來看看:

      打開文件并查看文件屬性:

      可見原來1024X683的圖片已經(jīng)縮放到了 640X480。

      但是,張小白還真的不知道這個狗的比例有沒有變。。。

      唉。有沒有人知道的,麻煩告訴我一聲。我真的真的很想知道它是不是真的減肥了。

      【CANN訓(xùn)練營進(jìn)階班應(yīng)用課筆記】在AI1S云服務(wù)器上體驗DVPP的JPEGD-RESIZE-JPEGE

      (七)關(guān)機

      記得去ECS控制臺關(guān)機,否則會扣費很嚴(yán)重。

      (全文完,謝謝閱讀)

      AI 昇騰

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:鯤鵬服務(wù)器Redis集群搭建
      下一篇:Petya勒索蠕蟲病毒安全預(yù)警
      相關(guān)文章
      亚洲国产精品美女久久久久| 亚洲综合视频在线| 亚洲欧洲日产韩国在线| 亚洲AV人人澡人人爽人人夜夜| 亚洲日韩v无码中文字幕| 亚洲综合AV在线在线播放| 国产AV无码专区亚洲AWWW| 久久亚洲国产成人精品无码区| 久久久久亚洲AV无码去区首| 亚洲精品一卡2卡3卡四卡乱码| 亚洲综合av一区二区三区| 亚洲欧美日韩国产精品一区| 精品国产日韩久久亚洲| 亚洲午夜精品一区二区麻豆| 在线亚洲午夜片AV大片| 亚洲欧美国产欧美色欲| 国产精品亚洲午夜一区二区三区 | 亚洲黄色在线观看网站| 在线电影你懂的亚洲| 亚洲最大视频网站| 亚洲国产成人久久精品app| 亚洲一级免费视频| 亚洲综合激情五月丁香六月| 亚洲成av人在线观看网站| 亚洲 综合 国产 欧洲 丝袜| 亚洲国产中文v高清在线观看| 亚洲日本一区二区一本一道| 亚洲乱码精品久久久久..| 久久精品国产亚洲av麻豆| 精品亚洲成AV人在线观看| 亚洲国产亚洲综合在线尤物| 亚洲中文字幕无码中文| 久久久久亚洲国产AV麻豆| 毛茸茸bbw亚洲人| 亚洲国产女人aaa毛片在线 | 亚洲福利一区二区精品秒拍| 亚洲一区二区三区久久| 亚洲久热无码av中文字幕| 亚洲高清无码专区视频| 久久影视国产亚洲| 老司机亚洲精品影院|