<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          這個(gè)好玩!用Python識(shí)別花卉種類,并自動(dòng)整理分類!

          共 2882字,需瀏覽 6分鐘

           ·

          2022-04-20 19:42

          “無(wú)窮小亮的科普日?!苯?jīng)常會(huì)發(fā)布一些鑒定網(wǎng)絡(luò)熱門生物視頻,既科普了生物知識(shí),又滿足觀眾們的獵奇心理。今天我們也來(lái)鑒定一下網(wǎng)絡(luò)熱門植物!最近春天很多花都開了,我正好趁著清明假期到戶外踏青并拍攝了不少花卉的照片。

          由于對(duì)很多花不是特別熟悉,所以我們需要借助軟件來(lái)識(shí)別究竟是什么花的種類。市面上的識(shí)花軟件有很多,比如花伴侶、形色、百度等等,我測(cè)試后發(fā)現(xiàn)百度的識(shí)別效果最為優(yōu)秀。于是我就有了一個(gè)想法,能不能批量調(diào)用百度的接口,對(duì)花卉照片進(jìn)行識(shí)別并分類呢?(完整代碼見文末)

          百度圖像識(shí)別

          百度的圖像識(shí)別接口,可以精準(zhǔn)識(shí)別超過(guò)十萬(wàn)種物體和場(chǎng)景,包含10余項(xiàng)高精度的識(shí)圖能力并提供相應(yīng)的API服務(wù)。

          https://cloud.baidu.com/product/imagerecognition

          我們按照步驟創(chuàng)建新應(yīng)用,并得到專屬自己的API Key和Secret Key,具體如下圖所示。

          圖像識(shí)別提供一個(gè)組合API接口,支持多種垂類識(shí)別服務(wù)的靈活組合調(diào)用,這里只需要調(diào)用植物識(shí)別就可以滿足需求。

          如何Python調(diào)用百度圖像識(shí)別API接口?

          第一步,調(diào)用鑒權(quán)接口獲取token。

          API_Key?=?'**********'
          Secret_Key?=?'**********'

          def?get_access_token(API_Key,Secret_Key):?
          ????host?=?'**********'
          ????response?=?requests.get(host)
          ????return?response.json()['access_token']

          access_token?=?get_access_token(API_Key,Secret_Key)

          第二步,識(shí)別圖像種類

          在交互式環(huán)境中輸入如下命令:

          import?requests
          import?base64

          request_url?=?'**********'
          #?二進(jìn)制方式打開圖片文件
          f?=?open(r'D:\下載\QQ截圖20220407203203.png',?'rb')
          img?=?base64.b64encode(f.read())

          params?=?{"image":img}
          request_url?=?request_url?+?"?access_token="?+?access_token
          headers?=?{'content-type':?'application/x-www-form-urlencoded'}
          response?=?requests.post(request_url,?data=params,?headers=headers)
          if?response:
          ????print?(response.json()['result'][0]['name'])

          輸出:

          櫻花

          調(diào)用百度圖像識(shí)別接口的返回參數(shù)如下圖所示,對(duì)我們來(lái)說(shuō),只需要其中的name(植物名稱)參數(shù)。

          讀取照片文件

          我將拍攝的照片存放在D:\下載\花卉合集路徑下,所以需要使用os模塊進(jìn)行讀取文件列表,方便進(jìn)行后續(xù)的批量操作。

          在交互式環(huán)境中輸入如下命令:

          import?os
          path?=?"D:\下載\花卉合集"

          filenames?=?os.listdir(path)
          filenames

          輸出:

          ['QQ截圖20220405223301.png',
          'QQ截圖20220405223320.png',
          ......
          '微信圖片_20220405225020.jpg',
          '微信圖片_20220405225023.jpg']

          os模塊中的listdir()?法,接收?個(gè)路徑參數(shù)path,返回的是該路徑下所有?件的?件名組成的列表。這樣,我們就獲取了該路徑下所有的花卉圖片文件名,如下圖所示。

          整理分類照片

          接著,我們便可以使用for循環(huán)語(yǔ)句,依次對(duì)花卉照片進(jìn)行圖像識(shí)別,并按照識(shí)別出的名稱進(jìn)行分類整理到對(duì)應(yīng)的文件夾中。

          在交互式環(huán)境中輸入如下命令:

          for?i?in?filenames:
          ????flower_name?=?get_fname(i)
          ????file_path?=?os.path.join(path,i)
          ????folder_path?=?os.path.join(path,flower_name)
          ????if?not?os.path.exists(folder_path):?
          ????????os.mkdir(folder_path)
          ????shutil.move(file_path,folder_path)

          其中get_fname()函數(shù),是我們將前文中百度圖像識(shí)別代碼封裝為一個(gè)自定義函數(shù),此處調(diào)用即可返回得到照片對(duì)應(yīng)的花卉名稱flower_name。

          后續(xù)的代碼與之前分享過(guò)的自動(dòng)分類整理文件幾乎一致,即if判斷是否已經(jīng)存在對(duì)應(yīng)花卉名稱的文件夾,若不存在則創(chuàng)建。最后,調(diào)用shutil模塊移動(dòng)花卉照片至對(duì)應(yīng)文件夾。

          具體執(zhí)行效果,如下方動(dòng)圖所示。



          這是我開發(fā)的機(jī)器人公眾號(hào)小號(hào),目前增加了天氣查詢,955公司名單,關(guān)注時(shí)間查詢;后面還會(huì)增加圖片功能和每日送書抽獎(jiǎng)送書活動(dòng),以及調(diào)戲功能,歡迎來(lái)體驗(yàn),捧場(chǎng)。


          一個(gè)機(jī)器人公眾號(hào)已經(jīng)上線,歡迎調(diào)戲




          推薦閱讀:

          入門:?最全的零基礎(chǔ)學(xué)Python的問(wèn)題? |?零基礎(chǔ)學(xué)了8個(gè)月的Python??|?實(shí)戰(zhàn)項(xiàng)目?|學(xué)Python就是這條捷徑


          干貨:爬取豆瓣短評(píng),電影《后來(lái)的我們》?|?38年NBA最佳球員分析?|? ?從萬(wàn)眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個(gè)海量小姐姐素描圖?|碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影


          趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲!


          AI:?會(huì)做詩(shī)的機(jī)器人?|?給圖片上色?|?預(yù)測(cè)收入?|?碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影


          小工具:?Pdf轉(zhuǎn)Word,輕松搞定表格和水印!?|?一鍵把html網(wǎng)頁(yè)保存為pdf!|??再見PDF提取收費(fèi)!?|?用90行代碼打造最強(qiáng)PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換?|?制作一款釘釘?shù)蛢r(jià)機(jī)票提示器!?|60行代碼做了一個(gè)語(yǔ)音壁紙切換器天天看小姐姐!



          年度爆款文案


          點(diǎn)閱讀原文,看B站我的視頻!

          瀏覽 47
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日日嗨AV一区二区三区 | 天天狠操 | 色婷婷精品无码 | 99有精品 | 女人扒开尿口让男人桶 |