• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      AppInvenor開發(fā)——AI圖像識別

      2021-07-16 11:16王德貴
      電腦報 2021年18期
      關(guān)鍵詞:口令列表種類

      王德貴

      一、思路

      在本報第15期《AppInvenor開發(fā)——拍照識花》中我們已經(jīng)實現(xiàn)了手機的植物識別App,那么很自然我們就希望這個App能夠進行動物識別和其他的圖像智能識別,這類AI應(yīng)用百度已經(jīng)開發(fā)出很多種類,你可以去百度智能云查看支持文檔,這里我們在拍照識花的基礎(chǔ)上再添加3種:動物識別、菜品識別、果蔬識別,通過本文你有其他需求就可以自行添加其他功能了(圖1)。

      二、準(zhǔn)備工作

      1制作智能植物識別時,我們已經(jīng)申請了Apikey和Secretkey,可以直接使用,如果還沒有申請Apikey和Secretkey,則需要去百度智能云申請,再來繼續(xù)制作App。

      2 GET請求獲取Access_token令牌

      (1)請求頭格式(Header)如下:

      (2)請求網(wǎng)址格式為(中括號中的變量用你的Apikey和Scretkey替換):

      https:∥aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【你的Apikey】&client_secret=【你的Scretkey】

      3.POST請求獲取AI數(shù)據(jù)(中括號中的變量用access_token令牌口令替換):

      (1)植物識別

      https:∥aip.baidubce.com/rest/2.0/image-classify/v1/plant?access_token=【access_token令牌口令】

      (2)動物識別

      https:∥aip.baidubce.com/rest/2.0/irnage-classify/v1/anirnal?access_token=【access_token令牌口令】

      (3)果蔬識別

      https:∥aip.baidubce.com/rest/2.0/irnageclassify/v1/classify/ingredient? access_token=【access_token令牌口令】

      (4)菜品識別

      https:∥aip.baidubce.com/rest/2.0/image-classify/v2/dish?access_token=【access_token令牌口令】

      三、組件設(shè)計

      本程序使用wxbit在線版(app.wxbit.com)(圖2)。

      四、程序設(shè)計

      (1)變量和初始化

      變量Apikey和Secretkey存儲兩個KEY,需要你自行申請。

      初始化程序利用Apikey和Secretkey,通過HTTP客戶端1GET請求的實時申請,得到JSON文本,然后將返回的JSON保存在列表Access_token_list中,再提取令牌值保存在變量Access_token中。

      列表變量returnplant、plantlist、highscoreplant和baike分別存儲通過HTTP客戶端2POST請求返回的JSON文本、種類列表、最高置信度的種類列表和相關(guān)的百科簡介。

      變量image存儲待識別照片(圖3)。

      (2)GET請求文本處理(HTTP客戶端1)

      初始化GET請求成功后,從獲得的JSON文本中提取令牌口令,保存在變量Access_token中備用(圖4)。

      (3)選擇識別種類

      這就是本例新添加的部分了,種類有4種:植物識別,動物識別,果蔬食材,菜品識別。注意這4種是有順序的(圖5)。

      這里需要一個圖像處理插件TaifunImage.aix,可以百度搜索在網(wǎng)上下載(圖6)。

      (4)選擇待識別圖片

      點擊選擇要識別的圖片,可以事先拍攝好,然后導(dǎo)入圖像組件中,調(diào)整大小后,顯示出來,同時清空上一次識別的所有數(shù)據(jù)(圖7)。

      (5)拍照植物圖片

      通過手機的拍照功能,把待識別種類的照片直接拍照,注意一定盡量的清晰,對比度適中,否則識別可能會出錯,或是識別不準(zhǔn)確。拍攝完成后,處理圖片過程與選擇圖片類似(圖8)。

      (6)開始識別

      先將圖片路徑中的無用字符清除,作為HTTP客戶端2的POST請求地址。請求地址需要符合格式要求,要有請求頭和令牌口令才能請求成功。

      POST請求網(wǎng)址前文已經(jīng)介紹過不再詳述。

      POST請求時,必須將待識別圖片轉(zhuǎn)換成BASE64編碼,存儲在HTTP客戶端創(chuàng)建的列表中,然后通過HTTP客戶端2獲取這些數(shù)據(jù)后,進行處理和提取,得到我們想要的數(shù)據(jù)。

      BASE64編碼是數(shù)據(jù)傳輸中常用的編碼,本報今年第4、5期有相關(guān)文章,可以參考。SirnpleImage.aix組件是BASE64編碼插件,需要去網(wǎng)上下載,導(dǎo)入后即可使用。也就是說,POST請求數(shù)據(jù)時,是按照BASE64編碼請求的(圖9)。

      (7)POST請求獲得文本(HTTP客戶端2)

      這部分是功能升級的主要更新部分,如果請求成功(響應(yīng)代碼為200),返回參數(shù)如表(3個層級)(圖10)。

      將返回的數(shù)組解碼為JSON文本,保存在列表變量retumplant中。然后將識別結(jié)果存儲在列表plantlist中,它包括所有置信度的植物信息,即識別的種類可能很多,但置信度(也可以理解為可信度)不同,其值從高到低排列,我們只取置信度最高的一項,存儲在列表highscoreplant中。并從中提取植物的名字和置信度值,在文本中顯示出來。

      在列表highscoreplant中還有相關(guān)百科知識,只是列表維度太高,提取時稍有難度。百科簡介顯示出來,從中也能學(xué)到很多相關(guān)知識(圖11)。

      五、調(diào)試

      每增加一個種類,就需要測試一遍,正確以后再進行下一個種類的代碼,以保證每一步的正確性。最后完善程序設(shè)計和uI設(shè)計。本例程序只在植物識別的基礎(chǔ)上添加了3個種類,改動不多。主要難點在于處理數(shù)據(jù)列表時,由于種類的增加更復(fù)雜了。檢索數(shù)據(jù)時,需要一步步測試,才能了解數(shù)組(列表或字典)的意義。

      百度AI可以添加的項目還有很多,比如貨幣、車輛、紅酒、地標(biāo)、Logo等,可以根據(jù)自己的興趣添加。參考資料可以在百度智能云申請Apikey時,查看相關(guān)說明文檔(圖12)。

      相關(guān)源代碼和素材均在百度網(wǎng)盤,下載鏈接請?zhí)砑游⑿殴娞栆剂闵?,如有問題也可以和壹零社小助理聯(lián)系。

      猜你喜歡
      口令列表種類
      擴列吧
      高矮胖瘦
      基于稀疏表示的寵物狗種類識別
      基于稀疏表示的寵物狗種類識別
      電影
      口 令
      好玩的“反口令”游戲
      列表法解分式方程問題探索
      消防車有哪些種類
      多功能破冰鏟
      汝南县| 定州市| 芜湖县| 莱芜市| 绥德县| 石棉县| 瑞安市| 长阳| 正宁县| 清水河县| 沙洋县| 上林县| 沛县| 望江县| 治多县| 鲁山县| 古蔺县| 任丘市| 靖西县| 广元市| 大厂| 怀远县| 峨山| 沭阳县| 长治市| 万安县| 十堰市| 长泰县| 青田县| 桦甸市| 古田县| 吉林省| 景洪市| 西贡区| 兴和县| 丹阳市| 甘孜| 奉节县| 钟祥市| 宣威市| 旺苍县|