溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用Python識別花卉種類并自動整理分類

發(fā)布時間:2023-04-13 11:30:39 來源:億速云 閱讀:130 作者:iii 欄目:編程語言

這篇文章主要介紹“怎么用Python識別花卉種類并自動整理分類”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么用Python識別花卉種類并自動整理分類”文章能幫助大家解決問題。

百度圖像識別

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

怎么用Python識別花卉種類并自動整理分類

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

怎么用Python識別花卉種類并自動整理分類

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

如何Python調(diào)用百度圖像識別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)

第二步,識別圖像種類

怎么用Python識別花卉種類并自動整理分類

在交互式環(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'])

輸出:

櫻花

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

怎么用Python識別花卉種類并自動整理分類

讀取照片文件

我將拍攝的照片存放在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)語句,依次對花卉照片進行圖像識別,并按照識別出的名稱進行分類整理到對應(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)

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

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

關(guān)于“怎么用Python識別花卉種類并自動整理分類”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI