• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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)系。

    猜你喜歡
    口令列表種類
    擴列吧
    高矮胖瘦
    基于稀疏表示的寵物狗種類識別
    基于稀疏表示的寵物狗種類識別
    電影
    口 令
    好玩的“反口令”游戲
    列表法解分式方程問題探索
    消防車有哪些種類
    多功能破冰鏟
    厦门市| 泗阳县| 吉木乃县| 沂水县| 浏阳市| 三原县| 石柱| 平泉县| 大埔县| 桃源县| 亳州市| 且末县| 电白县| 和林格尔县| 张掖市| 周宁县| 安新县| 车险| 和静县| 瓮安县| 涞水县| 金华市| 台前县| 苍梧县| 许昌市| 宁强县| 咸阳市| 马尔康县| 兴海县| 南溪县| 利津县| 宁晋县| 富平县| 马龙县| 海兴县| 陵水| 高碑店市| 桦南县| 龙州县| 东乌| 道真|