欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)識別花卉種類的示例代碼

 更新時間:2022年04月08日 11:30:05   作者:朱小五  
“無窮小亮的科普日?!苯?jīng)常會發(fā)布一些鑒定網(wǎng)絡熱門生物視頻,既科普了生物知識,又滿足觀眾們的獵奇心理。今天我們也來用Python鑒定一下網(wǎng)絡熱門植物

大家好,我是小五

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

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

百度圖像識別

百度的圖像識別接口,可以精準識別超過十萬種物體和場景,包含10余項高精度的識圖能力并提供相應的API服務。

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

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

圖像識別提供一個組合API接口,支持多種垂類識別服務的靈活組合調用,這里只需要調用植物識別就可以滿足需求。

如何Python調用百度圖像識別API接口?

第一步,調用鑒權接口獲取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)

第二步,識別圖像種類

圖片

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

import?requests
import?base64

request_url?=?'**********'
#?二進制方式打開圖片文件
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'])

輸出:

櫻花

調用百度圖像識別接口的返回參數(shù)如下圖所示,對我們來說,只需要其中的name(植物名稱)參數(shù)。

讀取照片文件

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

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

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

filenames?=?os.listdir(path)
filenames

輸出:

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

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

整理分類照片

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

在交互式環(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ù),此處調用即可返回得到照片對應的花卉名稱flower_name。

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

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

以上就是Python實現(xiàn)識別花卉種類的示例代碼的詳細內容,更多關于Python識別花卉種類的資料請關注腳本之家其它相關文章!

相關文章

  • TensorFlow中tf.batch_matmul()的用法

    TensorFlow中tf.batch_matmul()的用法

    這篇文章主要介紹了TensorFlow中tf.batch_matmul()的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python 使用tempfile包輕松無痕的運行代碼

    Python 使用tempfile包輕松無痕的運行代碼

    大家好,我們知道軟件運行過程中一般會在指定位置生成臨時文件,這些資源不要輕易刪除,可能是過程文件,定時清理是必要的,今天給大家分享一款工具:tempfile,喜歡本文點贊支持,歡迎收藏學習
    2021-11-11
  • python使用celery實現(xiàn)訂單超時取消

    python使用celery實現(xiàn)訂單超時取消

    這篇文章主要為大家詳細介紹了python使用celery實現(xiàn)訂單超時取消,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • pandas的apply函數(shù)用法詳解

    pandas的apply函數(shù)用法詳解

    本文主要介紹了pandas的apply函數(shù)用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • Python 使用類寫裝飾器的小技巧

    Python 使用類寫裝飾器的小技巧

    裝飾器是一個返回函數(shù)的函數(shù)。寫一個裝飾器,除了最常見的在函數(shù)中定義函數(shù)以外,Python還允許使用類來定義一個裝飾器。這篇文章給大家分享Python 使用類寫裝飾器的小技巧,一起看看吧
    2018-09-09
  • python3字符串輸出常見面試題總結

    python3字符串輸出常見面試題總結

    在本篇文章里小編給大家整理的是一篇關于python3字符串輸出常見面試題總結內容,有需要的朋友們可以參考下。
    2020-12-12
  • 十分鐘輕松掌握dataframe數(shù)據(jù)選擇

    十分鐘輕松掌握dataframe數(shù)據(jù)選擇

    這篇文章主要介紹了十分鐘輕松掌握dataframe數(shù)據(jù)選擇,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • 妙用itchat! python實現(xiàn)久坐提醒功能

    妙用itchat! python實現(xiàn)久坐提醒功能

    python編寫的久坐提醒,給最愛的那個她,這篇文章主要為大家分享了python久坐提醒功能的實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • python讀取視頻流提取視頻幀的兩種方法

    python讀取視頻流提取視頻幀的兩種方法

    這篇文章主要為大家詳細介紹了python讀取視頻流提取視頻幀的兩種方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 詳解在python中如何使用zlib模塊進行數(shù)據(jù)壓縮和解壓縮

    詳解在python中如何使用zlib模塊進行數(shù)據(jù)壓縮和解壓縮

    Python有一些內置庫用于處理數(shù)據(jù)壓縮和解壓縮,其中一個就是zlib模塊,這個模塊為DEFLATE壓縮算法和相關的gzip(文件格式)提供了支持,在這篇文章中,我們將深入探討如何使用zlib模塊進行數(shù)據(jù)壓縮和解壓縮
    2023-06-06

最新評論